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

50 lines
1.2 KiB
Ucode

// NVCHANGE_BEGIN: TSC - adding module for spawning force fields
/**
* Copyright 1998-2011 Epic Games, Inc. All Rights Reserved.
*/
class ParticleModuleForceFieldBase extends ParticleModule
native(Particle)
editinlinenew
hidecategories(Object)
abstract;
var(ForceFieldComponent) NxForceFieldComponent ForceField;
event NxForceFieldComponent GetForceFieldInstance(vector Location)
{
local NxForceFieldComponent FF;
FF = new ForceField.Class(ForceField);
FF.SetTickGroup(TG_PostAsyncWork);
// the FF needs to be colocated with the particle system component (Location), in case its offset
FF.SetTranslation(Location + FF.Translation);
return FF;
}
cpptext
{
struct FPayload
{
BOOL bSpawned;
FLOAT LastTime;
};
virtual UINT RequiredBytesPerInstance(FParticleEmitterInstance* Owner = NULL);
virtual UINT PrepPerInstanceBlock(FParticleEmitterInstance* Owner, void* InstData);
virtual void Spawn(FParticleEmitterInstance* Owner, INT Offset, FLOAT SpawnTime);
virtual void Update(FParticleEmitterInstance* Owner, INT Offset, FLOAT DeltaTime);
}
defaultproperties
{
bSpawnModule=true
bUpdateModule=true
}
// NVCHANGE_END: TSC - adding module for spawning force fields