fixed spawners
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
using Godot;
|
using Godot;
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
[GlobalClass, Icon("res://assets/ui/IconGodotNode/control/icon_heart.png")]
|
[GlobalClass, Icon("res://assets/ui/IconGodotNode/node_3D/icon_heart.png")]
|
||||||
public partial class CHealthbar : Sprite3D
|
public partial class CHealthbar : Sprite3D
|
||||||
{
|
{
|
||||||
private Healthbar _healthbar;
|
private Healthbar _healthbar;
|
||||||
|
|||||||
@@ -26,10 +26,10 @@ metadata/_custom_type_script = "uid://baiapod3csndf"
|
|||||||
|
|
||||||
[node name="Main" unique_id=1551129541 instance=ExtResource("1_w4y6q")]
|
[node name="Main" unique_id=1551129541 instance=ExtResource("1_w4y6q")]
|
||||||
|
|
||||||
[node name="BackgroundMusicPlayer" parent="." index="0"]
|
[node name="BackgroundMusicPlayer" parent="." index="0" unique_id=879496303]
|
||||||
autoplay = false
|
autoplay = false
|
||||||
|
|
||||||
[node name="Player" parent="." index="5"]
|
[node name="Player" parent="." index="5" unique_id=1309399929]
|
||||||
transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, 2, 1.5, 9.5)
|
transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, 2, 1.5, 9.5)
|
||||||
|
|
||||||
[node name="Greybox" type="CSGCombiner3D" parent="." index="7" unique_id=646927976]
|
[node name="Greybox" type="CSGCombiner3D" parent="." index="7" unique_id=646927976]
|
||||||
@@ -125,18 +125,19 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 7, -16)
|
|||||||
Target = NodePath("../Player")
|
Target = NodePath("../Player")
|
||||||
RMovement = SubResource("Resource_xixm3")
|
RMovement = SubResource("Resource_xixm3")
|
||||||
|
|
||||||
[node name="GroundedSpawner" parent="." index="14" unique_id=557145011 instance=ExtResource("7_ba7rw")]
|
[node name="GroundedSpawner" parent="." index="14" unique_id=557145011 node_paths=PackedStringArray("Target") instance=ExtResource("7_ba7rw")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 2.5, -15)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 2.5, -15)
|
||||||
EnemyToSpawn = ExtResource("4_5mjy0")
|
EnemyToSpawn = ExtResource("4_5mjy0")
|
||||||
MovementInputs = ExtResource("8_cdhvi")
|
MovementInputs = ExtResource("8_cdhvi")
|
||||||
HealthInputs = SubResource("Resource_epn1o")
|
HealthInputs = SubResource("Resource_epn1o")
|
||||||
DamageInputs = ExtResource("10_xyaoo")
|
DamageInputs = ExtResource("10_xyaoo")
|
||||||
|
Target = NodePath("../Player")
|
||||||
IsActiveOnStart = false
|
IsActiveOnStart = false
|
||||||
|
|
||||||
[node name="FlyingSpawner" parent="." index="15" unique_id=974076606 instance=ExtResource("7_ba7rw")]
|
[node name="FlyingSpawner" parent="." index="15" unique_id=974076606 node_paths=PackedStringArray("Target") instance=ExtResource("7_ba7rw")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 11, -14)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 11, -14)
|
||||||
EnemyToSpawn = ExtResource("6_xuqf0")
|
EnemyToSpawn = ExtResource("6_xuqf0")
|
||||||
MovementInputs = ExtResource("11_yug0s")
|
MovementInputs = ExtResource("11_yug0s")
|
||||||
HealthInputs = ExtResource("12_qgrw7")
|
HealthInputs = ExtResource("12_qgrw7")
|
||||||
DamageInputs = ExtResource("13_qulje")
|
DamageInputs = ExtResource("13_qulje")
|
||||||
IsActiveOnStart = false
|
Target = NodePath("../Player")
|
||||||
|
|||||||
@@ -22,21 +22,14 @@ public partial class Spawner : Node3D
|
|||||||
[Export]
|
[Export]
|
||||||
public bool IsActiveOnStart { get; set; } = true;
|
public bool IsActiveOnStart { get; set; } = true;
|
||||||
|
|
||||||
private float _spawnTimer;
|
private Timer _timer;
|
||||||
private bool _isActive;
|
|
||||||
|
|
||||||
public override void _Ready()
|
public override void _Ready()
|
||||||
{
|
{
|
||||||
_isActive = IsActiveOnStart;
|
_timer = GetNode<Timer>("Timer");
|
||||||
_spawnTimer = SpawnInterval;
|
_timer.WaitTime = SpawnInterval;
|
||||||
}
|
_timer.Timeout += Spawn;
|
||||||
|
if (IsActiveOnStart) StartSpawning();
|
||||||
public override void _Process(double delta)
|
|
||||||
{
|
|
||||||
if (!_isActive) return;
|
|
||||||
|
|
||||||
_spawnTimer -= (float) delta;
|
|
||||||
if (_spawnTimer <= 0) Spawn();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Spawn()
|
public void Spawn()
|
||||||
@@ -44,27 +37,24 @@ public partial class Spawner : Node3D
|
|||||||
if (EnemyToSpawn == null || !EnemyToSpawn.CanInstantiate()) return;
|
if (EnemyToSpawn == null || !EnemyToSpawn.CanInstantiate()) return;
|
||||||
|
|
||||||
if (EnemyToSpawn.Instantiate() is not Enemy spawnedInstance) return;
|
if (EnemyToSpawn.Instantiate() is not Enemy spawnedInstance) return;
|
||||||
|
|
||||||
|
GetTree().GetCurrentScene().AddChild(spawnedInstance);
|
||||||
|
spawnedInstance.GlobalPosition = GlobalPosition;
|
||||||
|
|
||||||
spawnedInstance.Target = Target;
|
spawnedInstance.Target = Target;
|
||||||
spawnedInstance.RMovement = MovementInputs;
|
spawnedInstance.RMovement = MovementInputs;
|
||||||
spawnedInstance.RDamage = DamageInputs;
|
spawnedInstance.RDamage = DamageInputs;
|
||||||
spawnedInstance.RHealth = HealthInputs;
|
spawnedInstance.RHealth = HealthInputs;
|
||||||
spawnedInstance.Initialize();
|
spawnedInstance.Initialize();
|
||||||
|
|
||||||
GetTree().GetCurrentScene().AddChild(spawnedInstance);
|
|
||||||
spawnedInstance.GlobalPosition = GlobalPosition;
|
|
||||||
|
|
||||||
_spawnTimer = SpawnInterval;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StartSpawning()
|
public void StartSpawning()
|
||||||
{
|
{
|
||||||
_isActive = true;
|
_timer.Start();
|
||||||
_spawnTimer = SpawnInterval;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StopSpawning()
|
public void StopSpawning()
|
||||||
{
|
{
|
||||||
_isActive = false;
|
_timer.Stop();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,3 +6,5 @@
|
|||||||
script = ExtResource("1_2otbo")
|
script = ExtResource("1_2otbo")
|
||||||
|
|
||||||
[node name="Marker3D" type="Marker3D" parent="." unique_id=610854505]
|
[node name="Marker3D" type="Marker3D" parent="." unique_id=610854505]
|
||||||
|
|
||||||
|
[node name="Timer" type="Timer" parent="." unique_id=1842357493]
|
||||||
|
|||||||
Reference in New Issue
Block a user