1
0
KF2-Dev-Scripts/Engine/Classes/ParticleModuleUberLTISIVCLILIRSSBLIRR.uc

154 lines
5.6 KiB
Ucode
Raw Normal View History

2020-12-13 15:01:13 +00:00
/**
* ParticleModuleUberLTISIVCLILIRSSBLIRR
*
* Uber-module replacing the following classes:
* LT - Lifetime
* IS - Initial Size
* IV - Initial Velocity
* CL - Color over Life
* IL - Initial Location
* IR - Initial Rotation
* SSBL - Scale Size By Life
* IRR - Initial Rotation Rate
*
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
*/
class ParticleModuleUberLTISIVCLILIRSSBLIRR extends ParticleModuleUberBase
native(Particle)
editinlinenew
collapsecategories
hidecategories(Object);
//------------------------------------------------------------------------------------------------
// Members
//------------------------------------------------------------------------------------------------
/** Lifetime - Gives the lifetime of the particles */
var(Lifetime) export noclear rawdistributionfloat Lifetime;
/** Size - Gives the size of the particles */
var(Size) export noclear rawdistributionvector StartSize;
/** StartVelociy - Gives the start velocity of the particles */
var(Velocity) export noclear rawdistributionvector StartVelocity;
/** StartRadialVelociy - Gives the start radial velocity of the particles */
var(Velocity) export noclear rawdistributionfloat StartVelocityRadial;
/** ColorOverLife - Gives the color to apply to the particles */
var(Color) export noclear rawdistributionvector ColorOverLife;
/** AlphaOverLife - Gives the alpha to apply to the particles */
var(Color) export noclear rawdistributionfloat AlphaOverLife;
/** StartLocation - Gives the start location of particles */
var(Location) export noclear rawdistributionvector StartLocation;
/** StartRotation - Gives the rotation of particles in turns (1 = 360 degrees) */
var(Rotation) export noclear rawdistributionfloat StartRotation;
/** SizeLifeMultiplier - Size scale factor */
var(Size) export noclear rawdistributionvector SizeLifeMultiplier;
/** MultiplyX - If TRUE, scale along the X size axis */
var(Size) bool SizeMultiplyX;
/** MultiplyY - If TRUE, scale along the Y size axis */
var(Size) bool SizeMultiplyY;
/** MultiplyZ - If TRUE, scale along the Z size axis */
var(Size) bool SizeMultiplyZ;
/** StartRotationRate - Gives the rotation rate of particles in turns per second */
var(Rotation) export noclear rawdistributionfloat StartRotationRate;
//------------------------------------------------------------------------------------------------
// C++ Text
//------------------------------------------------------------------------------------------------
cpptext
{
/** Copy the contents of the modules to the UberModule */
virtual UBOOL ConvertToUberModule(UParticleEmitter* InputEmitter);
/** Spawn - called when spawning particles */
virtual void Spawn(FParticleEmitterInstance* Owner, INT Offset, FLOAT SpawnTime);
/** Update - called when updating particles */
virtual void Update(FParticleEmitterInstance* Owner, INT Offset, FLOAT DeltaTime);
}
//------------------------------------------------------------------------------------------------
// Default Properties
//------------------------------------------------------------------------------------------------
defaultproperties
{
bSpawnModule=true
bUpdateModule=true
// Lifetime
Begin Object Class=DistributionFloatUniform Name=DistributionLifetime
Min=1
Max=1
End Object
Lifetime=(Distribution=DistributionLifetime)
// Size
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)
// Velocity
Begin Object Class=DistributionVectorUniform Name=DistributionStartVelocity
Min=(X=0,Y=0,Z=0)
Max=(X=0,Y=0,Z=10)
End Object
StartVelocity=(Distribution=DistributionStartVelocity)
Begin Object Class=DistributionFloatUniform Name=DistributionStartVelocityRadial
End Object
StartVelocityRadial=(Distribution=DistributionStartVelocityRadial)
// ColorOverLife
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)
// Location
Begin Object Class=DistributionVectorUniform Name=DistributionStartLocation
End Object
StartLocation=(Distribution=DistributionStartLocation)
// Rotation
Begin Object Class=DistributionFloatUniform Name=DistributionStartRotation
Min=0.0
Max=1.0
End Object
StartRotation=(Distribution=DistributionStartRotation)
// SizeMultipleLife
SizeMultiplyX=true
SizeMultiplyY=true
SizeMultiplyZ=true
Begin Object Class=DistributionVectorConstant Name=DistributionLifeMultiplier
Constant=(X=1,Y=1,Z=1)
End Object
SizeLifeMultiplier=(Distribution=DistributionLifeMultiplier)
// RotationRate
Begin Object Class=DistributionFloatConstant Name=DistributionStartRotationRate
End Object
StartRotationRate=(Distribution=DistributionStartRotationRate)
// RequiredModules
RequiredModules(0)=ParticleModuleLifetime
RequiredModules(1)=ParticleModuleSize
RequiredModules(2)=ParticleModuleVelocity
RequiredModules(3)=ParticleModuleColorOverLife
RequiredModules(4)=ParticleModuleLocation
RequiredModules(5)=ParticleModuleRotation
RequiredModules(6)=ParticleModuleSizeMultiplyLife
RequiredModules(7)=ParticleModuleRotationRate
}