using Godot; using Godot.Collections; namespace Cirno.Scripts.Actors; public partial class ActorSpawner : Node2D, IActivable { [Export] public PackedScene ActorPrefab { get; set; } [Export] public bool WaitForActorDeath { get; private set; } = true; public Actor SpawnedActor { get; private set; } public virtual void Spawn() { SpawnedActor = this.CreateSibling(ActorPrefab); } public void Activate(ActivationType activationType = ActivationType.Toggle) { if (!WaitForActorDeath) { Spawn(); } else if (SpawnedActor == null) { Spawn(); } } }