Godot-SpaceShooter/Scripts/Asteroids.cs

27 lines
725 B
C#

using Godot;
using System;
using Godot.Collections;
public partial class Asteroids : Node3D {
[Export] private Array<PackedScene> asteroids;
[Export] private float spawnRate = 1f;
[Export] private RichTextLabel labelAsteroids;
private float spawnTimer;
private int asteroidNumber;
public override void _Ready() => spawnTimer = spawnRate;
public override void _Process(double delta) {
spawnTimer -= (float)delta;
if (spawnTimer < 0) {
GD.Print("Spawn new asteroid");
asteroidNumber++;
Node asteroid = asteroids.PickRandom().Instantiate();
asteroid.Name = $"Asteroid{asteroidNumber}";
AddChild(asteroid);
spawnTimer = spawnRate;
labelAsteroids.Text = $"Asteroids: {asteroidNumber}";
}
}
}