diff options
author | bd <bdunahu@operationnull.com> | 2025-05-22 13:50:49 -0400 |
---|---|---|
committer | bd <bdunahu@operationnull.com> | 2025-05-22 13:50:49 -0400 |
commit | 8c5c4863aeacb4afcf70f339df6d601e2df1a7a6 (patch) | |
tree | 6c2af54a18271534864a7a1daed7814ebac5abd1 /scenes/defenders/base_defender.gd | |
parent | 80e145ba2b85e08f895e76ba6a03bb67bc9ce9ea (diff) |
Reorganized files into scenes and scripts
Diffstat (limited to 'scenes/defenders/base_defender.gd')
-rw-r--r-- | scenes/defenders/base_defender.gd | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/scenes/defenders/base_defender.gd b/scenes/defenders/base_defender.gd deleted file mode 100644 index 66be11d..0000000 --- a/scenes/defenders/base_defender.gd +++ /dev/null @@ -1,49 +0,0 @@ -extends StaticBody2D - -@onready var sprite_node = $Sprite2D - -var defender_range : float -var fire_rate : float -var damage : int -var target : CharacterBody2D - -func _on_fire_timer_timeout() -> void: - # extending classes override here - pass - -func select_target() -> void: - var targets : Array = _find_targets() - - # this is all to select the furthest target on the track - var curr : PathFollow2D = null - for i in targets: - if curr == null: - curr = i.get_node("../") - else: - if i.get_parent().get_progress() > curr.get_progress(): - curr = i.get_node("../") - - _update_state_machine(curr) - -func _find_targets() -> Array: - var targets : Array = get_node("Tower").get_overlapping_bodies() - var tmp : Array = [] - for i in targets: - if "Crawler" in i.name: - tmp.append(i) - return tmp - -func _update_state_machine(curr : PathFollow2D) -> void: - if (curr == null): - target = null - sprite_node.idle_state() - else: - target = curr.get_child(0) - sprite_node.attack_state() - -func _on_tower_body_entered(_body: Node2D) -> void: - var old_target : CharacterBody2D = target - select_target() - if old_target == null && old_target != target: - $FireTimer.start(fire_rate) - _on_fire_timer_timeout() |