Example #1
0
 /// <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;
 }
Example #2
0
        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();
        }