59 lines
1.5 KiB
Ucode
59 lines
1.5 KiB
Ucode
//=============================================================================
|
|
// KFEmitter
|
|
//=============================================================================
|
|
// Custom placeable emitter class
|
|
//=============================================================================
|
|
// Killing Floor 2
|
|
// Copyright (C) 2015 Tripwire Interactive LLC
|
|
// - Andrew "Strago" Ladenberger
|
|
//=============================================================================
|
|
class KFEmitter extends Emitter
|
|
placeable;
|
|
|
|
/** If set, will toggle the emitter clientside instead of replicating */
|
|
var() bool bClientsideKismetToggle;
|
|
|
|
/**
|
|
* Handling Toggle event from Kismet.
|
|
*/
|
|
simulated function OnToggle(SeqAct_Toggle action)
|
|
{
|
|
if ( !bClientsideKismetToggle )
|
|
{
|
|
Super.OnToggle(Action);
|
|
return;
|
|
}
|
|
|
|
// Turn ON
|
|
if (action.InputLinks[0].bHasImpulse)
|
|
{
|
|
ParticleSystemComponent.ActivateSystem();
|
|
bCurrentlyActive = TRUE;
|
|
}
|
|
// Turn OFF
|
|
else if (action.InputLinks[1].bHasImpulse)
|
|
{
|
|
ParticleSystemComponent.DeactivateSystem();
|
|
bCurrentlyActive = FALSE;
|
|
}
|
|
// Toggle
|
|
else if (action.InputLinks[2].bHasImpulse)
|
|
{
|
|
// If spawning is suppressed or we aren't turned on at all, activate.
|
|
if (ParticleSystemComponent.bSuppressSpawning || !bCurrentlyActive)
|
|
{
|
|
ParticleSystemComponent.ActivateSystem();
|
|
bCurrentlyActive = TRUE;
|
|
}
|
|
else
|
|
{
|
|
ParticleSystemComponent.DeactivateSystem();
|
|
bCurrentlyActive = FALSE;
|
|
}
|
|
}
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
}
|