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

130 lines
5.2 KiB
Ucode

/**
* ParticleModuleUberRainSplashA
*
* Uber-module replacing the following classes:
* LT - Lifetime
* IS - Initial Size
* COL - Color Over Life
*
* Intended for use in the Rain particle system.
*
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
*/
class ParticleModuleUberRainSplashA extends ParticleModuleUberBase
native(Particle)
editinlinenew
collapsecategories
hidecategories(Object);
//*-----------------------------------------------------------------------------*/
/** Lifetime Module Members */
//*-----------------------------------------------------------------------------*/
var(Lifetime) rawdistributionfloat Lifetime;
//*-----------------------------------------------------------------------------*/
/** Size Module Members */
//*-----------------------------------------------------------------------------*/
var(Size) rawdistributionvector StartSize;
//*-----------------------------------------------------------------------------*/
/** MeshRotation Module Members */
//*-----------------------------------------------------------------------------*/
var(Rotation) rawdistributionvector StartRotation;
var(Rotation) bool bInheritParent;
//*-----------------------------------------------------------------------------*/
/** SizeByLife Module Members */
//*-----------------------------------------------------------------------------*/
var(Size) rawdistributionvector LifeMultiplier;
var(Size) bool MultiplyX;
var(Size) bool MultiplyY;
var(Size) bool MultiplyZ;
//*-----------------------------------------------------------------------------*/
/** ColorOverLife Module Members */
//*-----------------------------------------------------------------------------*/
var(Color) rawdistributionvector ColorOverLife;
var(Color) rawdistributionfloat AlphaOverLife;
//*-----------------------------------------------------------------------------*/
//*-----------------------------------------------------------------------------*/
cpptext
{
virtual void Spawn(FParticleEmitterInstance* Owner, INT Offset, FLOAT SpawnTime);
virtual void Update(FParticleEmitterInstance* Owner, INT Offset, FLOAT DeltaTime);
/** Used by derived classes to indicate they could be used on the given emitter. */
virtual UBOOL IsCompatible(UParticleEmitter* InputEmitter);
/** Copy the contents of the modules to the UberModule */
virtual UBOOL ConvertToUberModule(UParticleEmitter* InputEmitter);
/**
* Return TRUE if this module impacts rotation of Mesh emitters
* @return UBOOL TRUE if the module impacts mesh emitter rotation
*/
virtual UBOOL TouchesMeshRotation() const { return TRUE; }
}
//*-----------------------------------------------------------------------------*/
//*-----------------------------------------------------------------------------*/
defaultproperties
{
bSpawnModule=true
bUpdateModule=true
//*-----------------------------------------------------------------------------*/
/** Lifetime Module Defaults */
//*-----------------------------------------------------------------------------*/
Begin Object Class=DistributionFloatUniform Name=DistributionLifetime
End Object
Lifetime=(Distribution=DistributionLifetime)
//*-----------------------------------------------------------------------------*/
/** Size Module Defaults */
//*-----------------------------------------------------------------------------*/
Begin Object Class=DistributionVectorUniform Name=DistributionStartSize
Min=(X=1,Y=1,Z=1)
Max=(X=1,Y=1,Z=1)
End Object
StartSize=(Distribution=DistributionStartSize)
//*-----------------------------------------------------------------------------*/
/** MeshRotation Module Defaults */
//*-----------------------------------------------------------------------------*/
Begin Object Class=DistributionVectorUniform Name=DistributionStartRotation
Min=(X=0.0,Y=0.0,Z=0.0)
Max=(X=360.0,Y=360.0,Z=360.0)
End Object
StartRotation=(Distribution=DistributionStartRotation)
bInheritParent=false
//*-----------------------------------------------------------------------------*/
/** SizeByLife Module Defaults */
//*-----------------------------------------------------------------------------*/
MultiplyX=true
MultiplyY=true
MultiplyZ=true
Begin Object Class=DistributionVectorConstant Name=DistributionLifeMultiplier
End Object
LifeMultiplier=(Distribution=DistributionLifeMultiplier)
//*-----------------------------------------------------------------------------*/
/** ColorOverLife Module Defaults */
//*-----------------------------------------------------------------------------*/
// This will screw up all the other curves...
//bCurvesAsColor=true
Begin Object Class=DistributionVectorConstantCurve Name=DistributionColorOverLife
End Object
ColorOverLife=(Distribution=DistributionColorOverLife)
Begin Object Class=DistributionFloatConstant Name=DistributionAlphaOverLife
Constant=255.9f;
End Object
AlphaOverLife=(Distribution=DistributionAlphaOverLife)
}