spawning
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 19s
Create tag and build when new code gets to main / Export (push) Successful in 9m59s

This commit is contained in:
2026-01-17 23:18:06 +01:00
parent 561e026834
commit 65538495c4
20 changed files with 146 additions and 60 deletions

View File

@@ -4,10 +4,15 @@ using System;
public partial class Spawner : Node3D
{
[Export(PropertyHint.NodeType)]
public PackedScene SceneToSpawn { get; set; }
public PackedScene EnemyToSpawn { get; set; }
[Export]
public Resource Inputs;
public RMovement MovementInputs { get; set; }
[Export]
public RHealth HealthInputs { get; set; }
[Export]
public RDamage DamageInputs { get; set; }
[Export]
public Node3D Target { get; set; }
@@ -35,13 +40,16 @@ public partial class Spawner : Node3D
public void Spawn()
{
if (SceneToSpawn == null || !SceneToSpawn.CanInstantiate()) return;
var spawnedInstance = SceneToSpawn.Instantiate() as Enemy;
if (spawnedInstance == null) return;
// spawnedInstance.Inputs = Inputs as EnemyInitInputs;
if (EnemyToSpawn == null || !EnemyToSpawn.CanInstantiate()) return;
if (EnemyToSpawn.Instantiate() is not Enemy spawnedInstance) return;
spawnedInstance.Target = Target;
spawnedInstance.RMovement = MovementInputs;
spawnedInstance.RDamage = DamageInputs;
spawnedInstance.RHealth = HealthInputs;
spawnedInstance.Setup();
GetTree().GetCurrentScene().AddChild(spawnedInstance);
spawnedInstance.GlobalPosition = GlobalPosition;