1
0
KF2-Dev-Scripts/Engine/Classes/ParticleModuleCollisionActor.uc
2020-12-13 18:01:13 +03:00

69 lines
2.3 KiB
Ucode

/**
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
*/
class ParticleModuleCollisionActor extends ParticleModuleCollision
native(Particle)
editinlinenew
hidecategories(Object);
/**
* List of actor parameter names (set on the placed instance) that this particle emitter should collide against
*/
var(Actors) array<name> ActorsToCollideWith;
/**
* If TRUE, then collide with any pawns as well
*/
var(Actors) bool bCheckPawnCollisions;
cpptext
{
virtual void Update(FParticleEmitterInstance* Owner, INT Offset, FLOAT DeltaTime);
/**
* Returns the number of bytes the module requires in the emitters 'per-instance' data block.
*
* @param Owner The FParticleEmitterInstance that 'owns' the particle.
*
* @return UINT The number of bytes the module needs per emitter instance.
*/
virtual UINT RequiredBytesPerInstance(FParticleEmitterInstance* Owner = NULL);
/**
* Allows the module to prep its 'per-instance' data block.
*
* @param Owner The FParticleEmitterInstance that 'owns' the particle.
* @param InstData Pointer to the data block for this module.
*/
virtual UINT PrepPerInstanceBlock(FParticleEmitterInstance* Owner, void* InstData);
/**
* Perform the desired collision check for this module.
*
* @param Owner The emitter instance that owns the particle being checked
* @param InParticle The particle being checked for a collision
* @param Hit The hit results to fill in for a collision
* @param SourceActor The source actor for the check
* @param End The end position for the check
* @param Start The start position for the check
* @param TraceFlags The trace flags to use for the check
* @param Extent The extent to use for the check
*
* @return UBOOL TRUE if a collision occurred.
*/
virtual UBOOL PerformCollisionCheck(FParticleEmitterInstance* Owner, FBaseParticle* InParticle,
FCheckResult& Hit, AActor* SourceActor, const FVector& End, const FVector& Start, DWORD TraceFlags, const FVector& Extent);
/**
* Helper function used by the editor to auto-populate a placed AEmitter with any
* instance parameters that are utilized.
*
* @param PSysComp The particle system component to be populated.
*/
virtual void AutoPopulateInstanceProperties(UParticleSystemComponent* PSysComp);
}
defaultproperties
{
}