spawning
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user