summaryrefslogtreecommitdiff
path: root/Tower.gd
diff options
context:
space:
mode:
Diffstat (limited to 'Tower.gd')
-rw-r--r--Tower.gd22
1 files changed, 21 insertions, 1 deletions
diff --git a/Tower.gd b/Tower.gd
index d8d94ea..9d7f870 100644
--- a/Tower.gd
+++ b/Tower.gd
@@ -3,6 +3,7 @@ extends StaticBody2D
signal selected
+signal deselected
static var selected_tower: Tower
@@ -14,6 +15,7 @@ var is_selected = false :
else:
if Tower.selected_tower == self:
Tower.selected_tower = null
+ deselected.emit()
get_tree().current_scene.get_node("%Tower").text = ""
is_selected = value
queue_redraw()
@@ -87,9 +89,27 @@ func _on_mouse_exited() -> void:
is_hovered = false
+func is_melee_range():
+ return attack_range <= Game.map.tile_set.tile_size.x
+
+
func shoot():
var target = mobs_in_range.pick_random() as Mob
- target.set_hp(target.hp - 1)
+
+ if is_melee_range():
+ target.set_hp(target.hp - 1)
+ else: # TODO
+ target.set_hp(target.hp - 1)
+
+
+func get_region():
+ var collision_shape := $CollisionShape2D
+ var shape = $CollisionShape2D.shape as RectangleShape2D
+
+ return Rect2(
+ collision_shape.position,
+ shape.size.snapped(Game.map.tile_set.tile_size)
+ )
func _on_tree_exiting() -> void: