diff options
Diffstat (limited to 'Tower.gd')
-rw-r--r-- | Tower.gd | 22 |
1 files changed, 21 insertions, 1 deletions
@@ -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: |