private void MoveFirework() { for (int i = this.fireworks.Count - 1; i >= 0; i--) { MagicDot dot = this.fireworks[i]; dot.RunFirework(); if (dot.Opacity <= 0.1) { this.LayoutRoot.Children.Remove(dot); this.fireworks.Remove(dot); } } }
private void AddFirework(double x, double y) { for (int i = 0; i < FireworkCount; i++) { double size = SizeMin + (SizeMax - SizeMin) * random.NextDouble(); byte red = (byte)(128 + (128 * random.NextDouble())); byte green = (byte)(128 + (128 * random.NextDouble())); byte blue = (byte)(128 + (128 * random.NextDouble())); double xVelocity = XVelocity - 2 * XVelocity * random.NextDouble(); double yVelocity = -YVelocity *random.NextDouble(); MagicDot dot = new MagicDot(red, green, blue, size); dot.X = x; dot.Y = y; dot.XVelocity = xVelocity; dot.YVelocity = yVelocity; dot.Gravity = Gravity; dot.RunFirework(); this.fireworks.Add(dot); this.LayoutRoot.Children.Add(dot); } }