diff options
author | bd <bdunahu@operationnull.com> | 2025-05-20 21:01:48 -0400 |
---|---|---|
committer | bd <bdunahu@operationnull.com> | 2025-05-20 21:01:48 -0400 |
commit | dc46bc748d45346c8062a46121e1d0f13c8af05a (patch) | |
tree | 75e94e7256955e264b69ca97add0866a154663de /scenes/defenders/warlock.gd | |
parent | 835f302033070c949c045dd82e387ae8805e2710 (diff) |
Make animations more general
Diffstat (limited to 'scenes/defenders/warlock.gd')
-rw-r--r-- | scenes/defenders/warlock.gd | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/scenes/defenders/warlock.gd b/scenes/defenders/warlock.gd index b8d143b..fbc6a3f 100644 --- a/scenes/defenders/warlock.gd +++ b/scenes/defenders/warlock.gd @@ -4,7 +4,7 @@ extends StaticBody2D @onready var sprite_node = $Sprite2D var projectile = preload("res://scenes/defenders/warlock_projectile.tscn") -var path_name +var curr func select_target(targets): var tmp = [] @@ -13,29 +13,32 @@ func select_target(targets): tmp.append(i) # this is all to select the furthest target on the track - var curr = null + curr = null for i in tmp: if curr == null: curr = i.get_node("../") else: if i.get_parent().get_progress() > curr.get_progress(): curr = i.get_node("../") - path_name = null if (curr == null) else curr.get_parent().name func _on_tower_body_entered(_body: Node2D): select_target(get_node("Tower").get_overlapping_bodies()) - sprite_node.is_idle = true if (path_name == null) else false - sprite_node.update_texture() + handle_animation() func _on_tower_body_exited(_body: Node2D): select_target(get_node("Tower").get_overlapping_bodies()) - sprite_node.is_idle = true if (path_name == null) else false - sprite_node.update_texture() + handle_animation() func _on_fire_rate_timeout(): - if (path_name != null): + if (curr != null): var tmp_projectile = projectile.instantiate() - tmp_projectile.path_name = path_name + tmp_projectile.curr = curr tmp_projectile.projectile_damage = projectile_damage get_node("ProjectileContainer").call_deferred("add_child", tmp_projectile) tmp_projectile.global_position = $Aim.global_position + +func handle_animation(): + if (curr == null): + sprite_node.idle_state() + else: + sprite_node.attack_state() |