functions/MiniGameFirework/scene/loop.ps1
|
param($var, $func, $canvas, $sound, $object, $stop) $rockets = $object.GetGroup('rocket') $explosions = $object.GetGroup('explosion') foreach ($rocket in $rockets) { $func.fly.Invoke($rocket, $var, $canvas, $sound, $object) } foreach ($explosion in $explosions) { $func.expand.Invoke($explosion, $var, $canvas) } # Generate new fireworks at random intervals between 0 and 50 ticks. $random = Get-Random -Minimum 0 -Maximum $var.Intervall if ($random -EQ 0 -AND $explosions.Count -LE $var.Explosion.Max) { # $sound.Play('takeoff') $func.gen.Invoke($var, $canvas, $object) } # Redraw the count of explosions on every tick. if ($var.Explosion.Count -NE $explosions.Count) { $canvas.undraw(0, $canvas.Maximum.Y - 1, "Explosions: XXX") $canvas.draw(0, $canvas.Maximum.Y - 1, "Explosions: $($explosions.Count)") $var.Explosion.Count = $explosions.Count } |