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;

View File

@@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=3 uid="uid://c305mfrtumcyq"]
[ext_resource type="Script" uid="uid://djyspwixi01j5" path="res://scenes/spawners/Spawner.cs" id="1_2otbo"]
[ext_resource type="PackedScene" uid="uid://dxt0e2ugmttqq" path="res://scenes/enemies/first_enemy/first_enemy.tscn" id="2_2otbo"]
[ext_resource type="PackedScene" uid="uid://dxt0e2ugmttqq" path="res://scenes/enemies/grounded_enemy/grounded_enemy.tscn" id="2_2otbo"]
[node name="Spawner" type="Node3D"]
script = ExtResource("1_2otbo")