public void WasShot() { IsExpired = true; PlayerStatus.AddPoints(PointValue); PlayerStatus.IncreaseMultiplier(); float hue1 = rand.NextFloat(0, 6); float hue2 = (hue1 + rand.NextFloat(0, 2)) % 6f; Color color1 = ColorUtil.HSVToColor(hue1, 0.5f, 1); Color color2 = ColorUtil.HSVToColor(hue2, 0.5f, 1); for (int i = 0; i < 120; i++) { float speed = 18f * (1f - 1 / rand.NextFloat(1, 10)); var state = new ParticleState() { Velocity = rand.NextVector2(speed, speed), Type = ParticleType.Enemy, LengthMultiplier = 1 }; Color color = Color.Lerp(color1, color2, rand.NextFloat(0, 1)); LastStandInSpace.ParticleManager.CreateParticle(Art.LineParticle, Position, color, 190, 1.5f, state); } Sound.Explosion.Play(0.5f, rand.NextFloat(-0.2f, 0.2f), 0); }
public static ParticleState GetRandom(float minVel, float maxVel) { var state = new ParticleState(); state.Velocity = rand.NextVector2(minVel, maxVel); state.Type = ParticleType.None; state.LengthMultiplier = 1; return state; }
public static ParticleState GetRandom(float minVel, float maxVel) { var state = new ParticleState(); state.Velocity = rand.NextVector2(minVel, maxVel); state.Type = ParticleType.None; state.LengthMultiplier = 1; return(state); }
public void Kill() { PlayerStatus.RemoveLife(); framesUntilRespawn = PlayerStatus.IsGameOver ? 300 : 120; Color explosionColor = new Color(0.8f, 0.8f, 0.4f); // yellow for (int i = 0; i < 1200; i++) { float speed = 18f * (1f - 1 / rand.NextFloat(1f, 10f)); Color color = Color.Lerp(Color.White, explosionColor, rand.NextFloat(0, 1)); var state = new ParticleState() { Velocity = rand.NextVector2(speed, speed), Type = ParticleType.None, LengthMultiplier = 1 }; LastStandInSpace.ParticleManager.CreateParticle(Art.LineParticle, Position, color, 190, 1.5f, state); } }