49 lines
1.6 KiB
Ucode
49 lines
1.6 KiB
Ucode
|
//=============================================================================
|
||
|
// KFExplosionLightComponent
|
||
|
//=============================================================================
|
||
|
// Light that changes its radius, brightness, and color over its lifespan based on user specified points.
|
||
|
//=============================================================================
|
||
|
// Killing Floor 2
|
||
|
// Copyright (C) 2015 Tripwire Interactive LLC
|
||
|
// Based on UDKExplosionLight Copyright 1998-2012 Epic Games, Inc.
|
||
|
// - Andrew "Strago" Ladenberger
|
||
|
//=============================================================================
|
||
|
|
||
|
class KFExplosionLightComponent extends PointLightComponent
|
||
|
native(Effect);
|
||
|
|
||
|
var() const KFExplosionLight Template;
|
||
|
|
||
|
/** used to initialize light properties from TimeShift on spawn so you don't have to update initial values in two places */
|
||
|
var bool bInitialized;
|
||
|
|
||
|
/** Lifetime - how long this explosion has been going */
|
||
|
var transient float Lifetime;
|
||
|
|
||
|
/** Index into TimeShift array */
|
||
|
var transient int TimeShiftIndex;
|
||
|
|
||
|
/** Set Template (Similar to ParticleSystemComponents) */
|
||
|
native final function SetTemplate(KFExplosionLight NewTemplate);
|
||
|
/** Reset light timeline position to start */
|
||
|
native final function ResetLight();
|
||
|
|
||
|
/** called when the light has burnt out */
|
||
|
delegate OnLightFinished(KFExplosionLightComponent Light);
|
||
|
|
||
|
cpptext
|
||
|
{
|
||
|
virtual void Attach();
|
||
|
virtual void Tick(FLOAT DeltaTime);
|
||
|
}
|
||
|
|
||
|
defaultproperties
|
||
|
{
|
||
|
Brightness=8
|
||
|
Radius=256
|
||
|
CastShadows=false
|
||
|
bCastPerObjectShadows=false
|
||
|
LightColor=(R=255,G=255,B=255,A=255)
|
||
|
LightingChannels=(Indoor=TRUE,Outdoor=TRUE,bInitialized=TRUE)
|
||
|
}
|