44 INHERIT_FLAG_SCALE = (1 << 0),
45 INHERIT_FLAG_ROT = (1 << 1)
55 f32 mEmitIntervalRandom;
61 f32 mParams[NUM_PARAMS];
64 s8 mVelInitVelocityRandom;
65 s8 mVelMomentumRandom;
66 f32 mVelPowerRadiationDir;
68 f32 mVelPowerRandomDir;
69 f32 mVelPowerNormalDir;
70 f32 mVelDiffusionEmitterNormal;
72 f32 mVelDiffusionSpecDir;
84 EvaluateStatus mEvalStatus;
88 bool mIsFirstEmission;
90 u16 mEmitIntervalWait;
110 virtual void SendClosing();
111 virtual void DestroyFunc();
121 virtual void CalcEmitter();
122 virtual void CalcParticle();
123 virtual void CalcEmission();
124 virtual void CalcBillboard();
128 ulong RetireParticleAll();
130 ulong RetireParticleManagerAll();
140 bool inheritS,
bool inheritR,
141 s8 inheritT, u8 weight);
148 u16 GetNumParticleManager()
const;
151 ulong ForeachEmitter(ForEachFunc pFunc, ForEachParam param,
152 bool ignoreLifeStatus);
153 ulong ForeachParticleManager(ForEachFunc pFunc, ForEachParam param,
154 bool ignoreLifeStatus,
bool propogate);
157 bool inheritS,
bool inheritR,
160 bool GetFlagDisableCalc()
const {
161 return mParameter.mComFlags & EmitterDesc::CMN_FLAG_DISABLE_CALC;
165 mParameter.mTranslate = rTrans;
168 mParameter.mScale = rScale;