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

97 lines
2.0 KiB
Ucode

/**
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
*/
class ParticleSystemReplay extends Object
native( Particle )
hidecategories( Object )
AutoExpandCategories( ParticleSystemReplay );
struct native ParticleEmitterReplayFrame
{
/** Type of emitter (EDynamicEmitterType) */
var native const int EmitterType;
/** Original index into the particle systems list of particle emitter indices. This is currently
only needed for mesh emitters. */
var native const int OriginalEmitterIndex;
/** State for the emitter this frame. The actual object type */
var native const pointer FrameState{ struct FDynamicEmitterReplayDataBase };
structcpptext
{
/** Constructors */
FParticleEmitterReplayFrame() {}
FParticleEmitterReplayFrame( EEventParm )
: EmitterType( DET_Unknown ),
OriginalEmitterIndex( INDEX_NONE ),
FrameState( NULL )
{
}
/** Destructor */
~FParticleEmitterReplayFrame()
{
// Clean up frame state
if( FrameState != NULL )
{
delete FrameState;
FrameState = NULL;
}
}
/** Serialization operator */
friend FArchive& operator<<( FArchive& Ar, FParticleEmitterReplayFrame& Obj );
}
};
/** A single frame within this replay */
struct native ParticleSystemReplayFrame
{
/** Emitter frame state data */
var native const array< ParticleEmitterReplayFrame > Emitters;
structcpptext
{
/** Constructors */
FParticleSystemReplayFrame() {}
FParticleSystemReplayFrame( EEventParm )
{
appMemzero( this, sizeof( FParticleSystemReplayFrame ) );
}
/** Serialization operator */
friend FArchive& operator<<( FArchive& Ar, FParticleSystemReplayFrame& Obj );
}
};
/** Unique ID number for this replay clip */
var() native int ClipIDNumber;
/** Ordered list of frames */
var native const array< ParticleSystemReplayFrame > Frames;
cpptext
{
/** Serialization */
virtual void Serialize( FArchive& Ar );
}
defaultproperties
{
}