/// <summary> /// Constructs a SwayEffect /// </summary> /// <param name="parms">SwayEffectParams object</param> public SwayEffect(SwayEffectParms parms) : base(parms) { this.currentSway = 0f; this.SwayBy = parms.SwayBy; this.SwayUpTo = parms.SwayUpTo; this.SwayDownTo = parms.SwayDownTo; this.direction = parms.Direction; }
public override void createParticle() { Vector2 heading = HEADINGS[base.RANDOM.Next(HEADINGS.Length)]; BaseParticle2DParams particleParms = new BaseParticle2DParams(); particleParms.TimeToLive = 500; particleParms.Origin = this.origin; particleParms.Texture = base.particleTexture; particleParms.Scale = new Vector2(.5f); particleParms.Position = this.position; particleParms.Direction = heading; particleParms.Acceleration = new Vector2(25f, 35f); ConstantSpeedParticle particle = new ConstantSpeedParticle(particleParms); ScaleOverTimeEffectParams effectParms = new ScaleOverTimeEffectParams { ScaleBy = new Vector2(1.75f) }; particle.addEffect(new ScaleOverTimeEffect(effectParms)); if (this.sway) { PulseDirection direction = EnumUtils.numberToEnum <PulseDirection>(base.RANDOM.Next(2)); SwayEffectParms swayEffectParms = new SwayEffectParms { SwayBy = new Vector2(50f, 0f), SwayDownTo = -5f, SwayUpTo = 5f, Direction = direction }; particle.addEffect(new SwayEffect(swayEffectParms)); } SoundManager.getInstance().playSoundEffect(this.sfxEmitter, this.idleSFX); base.particles.Add(particle); base.createParticle(); }