/// <summary> /// Initilaizes a custom fire particle /// </summary> /// <param name="emitterLocation"></param> /// <param name="emitterRadius"></param> /// <param name="ttl">Time to live</param> /// <param name="maxVel"></param> /// <param name="maxAcc"></param> /// <param name="initScale"></param> /// <param name="scaleVel"></param> /// <param name="initColor"></param> /// <param name="finalColor"></param> /// <param name="colFadeTime">Time when intialCol should be faded into the final color</param> /// <param name="velDamp">0:full damp => no velocity, 1: no damp</param> /// <param name="initRot"></param> /// <param name="rotVel"></param> /// <param name="rotDamp">Same as velDamp but for rotation</param> /// <param name="scaleAcc"></param> /// <param name="scaleMax"></param> /// <param name="initColAlpha"></param> /// <param name="finalColAlpha"></param> public FireParticleEffectFactory(Vector2 emitterLocation, int emitterRadius, int maxTTL, Vector2 maxVel, Vector2 maxAcc, float initScale, float scaleVel, Color initColor, Color finalColor, int colFadeTime, float velDamp = 1f, float initRot = 0f, float rotVel = 0f, float rotDamp = 1f, float scaleAcc = 0f, float scaleMax = 1, byte finalColAlpha = 0) { random = new Random(); this.fireParticleEffectType = FireParticleEffectType.Custom; this.EmitterLocation = emitterLocation; this.emitterRadius = emitterRadius; BaseParticleParams = new ParticleParameters { TTL = maxTTL, Vel = maxVel, Acc = maxAcc, VelDamp = velDamp, Rot = initRot, RotVel = rotVel, RotDamp = rotDamp, Scale = initScale, ScaleVel = scaleVel, ScaleAcc = scaleAcc, ScaleMax = scaleMax, InitCol = initColor, FinalCol = finalColor, ColFadeTime = colFadeTime }; //set alpha value of the colors BaseParticleParams.SetFinalColorAlpha(finalColAlpha); }
public FireParticleEffectFactory(FireParticleEffectType fireParticleEffectType, Vector2 emitterLocation, int emitterRadius) { random = new Random(); this.fireParticleEffectType = fireParticleEffectType; this.EmitterLocation = emitterLocation; this.emitterRadius = emitterRadius; BaseParticleParams = new ParticleParameters(); switch (fireParticleEffectType) { case FireParticleEffectType.Default: InitDefaultFireParticle(); break; default: InitDefaultFireParticle(); break; } }