27 lines
725 B
C#
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}";
|
|
}
|
|
}
|
|
}
|