public override void createParticle() { SmokeParticle particle = new SmokeParticle(base.particleParams); ScaleOverTimeEffectParams scaleEffectParms = new ScaleOverTimeEffectParams { Reference = particle, ScaleBy = new Vector2(.1f, .075f) }; particle.addEffect(new ScaleOverTimeEffect(scaleEffectParms)); RotateOverTimeEffectParams rotateEffectParms = new RotateOverTimeEffectParams { Reference = particle, RotateBy = 2f }; particle.addEffect(new RotateOverTimeEffect(rotateEffectParms)); FadeEffectParams fadeEffectParms = new FadeEffectParams { Reference = particle, State = FadeEffect.FadeState.Out, TotalTransitionTime = TIME_TO_LIVE, OriginalColour = Color.Black }; particle.addEffect(new FadeEffect(fadeEffectParms)); base.particles.Add(particle); base.createParticle(); }
public override void createParticle() { int nextIndex = -1; do { nextIndex = RANDOM.Next(this.SPAWN_LOCATIONS.Length); } while (this.lastUsedIndex == nextIndex); this.lastUsedIndex = nextIndex; base.particleParams.Position = this.SPAWN_LOCATIONS[this.lastUsedIndex]; ConstantSpeedParticle particle = new ConstantSpeedParticle(base.particleParams); ScaleOverTimeEffectParams effectParms = new ScaleOverTimeEffectParams { Reference = particle, ScaleBy = new Vector2(1f) }; particle.addEffect(new ScaleOverTimeEffect(effectParms)); RotateOverTimeEffectParams rotateEffectParms = new RotateOverTimeEffectParams { Reference = particle, RotateBy = 2f }; particle.addEffect(new RotateOverTimeEffect(rotateEffectParms)); FadeEffectParams fadeEffectParms = new FadeEffectParams { Reference = particle, State = FadeEffect.FadeState.Out, TotalTransitionTime = TIME_TO_LIVE, OriginalColour = COLOUR }; particle.addEffect(new FadeEffect(fadeEffectParms)); base.particles.Add(particle); base.createParticle(); }
public override void createParticle() { int positionX = this.RANDOM.Next(MAX_RANGE_FROM_EMITTER); int positionY = this.RANDOM.Next(MAX_RANGE_FROM_EMITTER); int directionX = this.RANDOM.Next(2); int directionY = this.RANDOM.Next(2); float x, y; if (directionX == 0) { x = PlayerPosition.X + positionX; } else { x = PlayerPosition.X - positionX; } if (directionY == 0) { y = PlayerPosition.Y + positionY; } else { y = PlayerPosition.Y - positionY; } base.particleParams.Position = new Vector2(x, y); BaseParticle2D particle = new BaseParticle2D(base.particleParams); ScaleOverTimeEffectParams effectParms = new ScaleOverTimeEffectParams { Reference = particle, ScaleBy = new Vector2(.5f) }; particle.addEffect(new ScaleOverTimeEffect(effectParms)); RotateOverTimeEffectParams rotateEffectParms = new RotateOverTimeEffectParams { Reference = particle, RotateBy = 2f }; particle.addEffect(new RotateOverTimeEffect(rotateEffectParms)); FadeEffectParams fadeEffectParms = new FadeEffectParams { Reference = particle, State = FadeEffect.FadeState.Out, TotalTransitionTime = TIME_TO_LIVE, OriginalColour = COLOUR }; particle.addEffect(new FadeEffect(fadeEffectParms)); base.particles.Add(particle); base.createParticle(); }
public void createParticle(Vector2 position) { base.particleParams.Position = position; SmokeParticle particle = new SmokeParticle(base.particleParams); ScaleOverTimeEffectParams effectParms = new ScaleOverTimeEffectParams { Reference = particle, ScaleBy = new Vector2(1f) }; particle.addEffect(new ScaleOverTimeEffect(effectParms)); FadeEffectParams fadeEffectParms = new FadeEffectParams { Reference = particle, State = FadeEffect.FadeState.Out, TotalTransitionTime = TIME_TO_LIVE, OriginalColour = Color.White }; particle.addEffect(new FadeEffect(fadeEffectParms)); base.particles.Add(particle); base.createParticle(); }
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(); }
public HUD(ContentManager content) { SpriteFont font = LoadingUtils.load <SpriteFont>(content, "SpriteFont1"); Text2DParams parms = new Text2DParams(); parms.Font = font; parms.LightColour = Color.Red; parms.Position = new Vector2(Constants.RESOLUTION_X / 3, 450f); parms.WrittenText = TEXT_RESTART; this.statusText = new Text2D(parms); ColourLerpEffectParams effectParms = new ColourLerpEffectParams { LerpBy = 5f, LerpDownTo = Color.White, LerpUpTo = Color.Red }; int size = 1; if (StateManager.getInstance().GameMode == GameMode.TwoPlayer) { size = 2; } this.scoreTexts = new Text2D[size]; this.winnerTexts = new Text2D[size]; parms.Position = new Vector2(RIGHT_X, SCORES_Y); parms.WrittenText = TEXT_SCORE + getScore(0); this.scoreTexts[0] = new Text2D(parms); this.scoreTexts[0].addEffect(new ColourLerpEffect(effectParms)); parms.Position = new Vector2(RIGHT_X + WINNER_X_PADDING, SCORES_Y + WINNER_Y_OFFSET); parms.WrittenText = TEXT_WINNER; this.winnerTexts[0] = new Text2D(parms); this.winnerTexts[0].addEffect(new ColourLerpEffect(effectParms)); if (StateManager.getInstance().GameMode == GameMode.TwoPlayer) { parms.Position = new Vector2(LEFT_X, SCORES_Y); parms.WrittenText = TEXT_SCORE + getScore(1); this.scoreTexts[1] = new Text2D(parms); this.scoreTexts[1].addEffect(new ColourLerpEffect(effectParms)); parms.Position = new Vector2(LEFT_X + WINNER_X_PADDING, SCORES_Y + WINNER_Y_OFFSET); parms.WrittenText = TEXT_WINNER; this.winnerTexts[1] = new Text2D(parms); this.winnerTexts[1].addEffect(new ColourLerpEffect(effectParms)); } this.countDownImages = new StaticDrawable2D[3]; StaticDrawable2DParams countDownParms = new StaticDrawable2DParams { Position = new Vector2(Constants.RESOLUTION_X / 2, Constants.RESOLUTION_Y / 2), Origin = new Vector2(256f), }; for (int i = 0; i < this.countDownImages.Length; i++) { countDownParms.Texture = LoadingUtils.load <Texture2D>(content, (i + 1).ToString()); this.countDownImages[i] = new StaticDrawable2D(countDownParms); } StaticDrawable2DParams gameOverParms = new StaticDrawable2DParams { Position = new Vector2(Constants.RESOLUTION_X / 2, Constants.RESOLUTION_Y / 2), Origin = new Vector2(512f), Texture = LoadingUtils.load <Texture2D>(content, "GameOver") }; this.gameOver = new StaticDrawable2D(gameOverParms); scaleOverTimeEffectParms = new ScaleOverTimeEffectParams { ScaleBy = new Vector2(-1f) }; this.soundEffect = LoadingUtils.load <SoundEffect>(content, "ShortBeep"); this.index = 2; this.activeCountdownItem = this.countDownImages[this.index]; this.activeCountdownItem.addEffect(new ScaleOverTimeEffect(scaleOverTimeEffectParms)); this.elapsedTime = 0f; SoundManager.getInstance().SFXEngine.playSoundEffect(this.soundEffect); }
/// <summary> /// Constructs a ScaleOverTimeEffect /// </summary> /// <param name="parms">ScaleOverTimeEffectParams object</param> public ScaleOverTimeEffect(ScaleOverTimeEffectParams parms) : base(parms) { this.ScaleBy = parms.ScaleBy; }