summaryrefslogtreecommitdiff
path: root/world.gd
diff options
context:
space:
mode:
Diffstat (limited to 'world.gd')
-rw-r--r--world.gd53
1 files changed, 27 insertions, 26 deletions
diff --git a/world.gd b/world.gd
index fa2b6dd..6817412 100644
--- a/world.gd
+++ b/world.gd
@@ -14,11 +14,11 @@ func _ready():
]
)
- while true:
- var scene = preload("res://Mob.tscn")
- var mob = scene.instantiate()
- add_child(Game.spawn_mob(mob, $Spawn))
- await get_tree().create_timer(randi_range(1, 2)).timeout
+ #while true:
+ #var scene = preload("res://Mob.tscn")
+ #var mob = scene.instantiate()
+ #add_child(Game.spawn_mob(mob, $Spawn))
+ #await get_tree().create_timer(randi_range(1, 2)).timeout
#await get_tree().create_timer(0.01).timeout
#break
@@ -27,7 +27,7 @@ func _draw():
if Game.debug:
var area = Game.path_grid.region
var cell_size = Game.path_grid.cell_size
- var offset = Game.path_grid.offset
+ var offset = Game.path_grid.offset + (Game.path_grid.cell_size / 2)
for row in range(0, area.size.y + 1):
draw_line(
Vector2(offset.x, offset.y + row * cell_size.y),
@@ -58,12 +58,18 @@ func _draw():
func _input(event: InputEvent):
if event.is_action_pressed("ui_accept"):
- for _i in range(0, 2):
+ for _i in range(0, 1):
var scene = preload("res://Mob.tscn")
var mob = scene.instantiate()
add_child(Game.spawn_mob(mob, $Spawn))
+ if event.is_action_pressed("spawn_box_toggle"):
+ %SpawnBox.visible = not %SpawnBox.visible
+
if Game.mode == Game.Mode.DEFAULT:
+ if event.is_action_pressed("build_mode_start"):
+ Game.start_build_mode()
+
if event.is_action_pressed("builder_tower_select"):
if Tower.selected_tower:
Tower.selected_tower.is_selected = false
@@ -71,13 +77,13 @@ func _input(event: InputEvent):
if Mob.selected_unit:
Mob.selected_unit.is_selected = false
- if Game.mode == Game.Mode.BUILD:
+ elif Game.mode == Game.Mode.BUILD:
if event.is_action_pressed("builder_tower_select"):
get_viewport().set_input_as_handled()
- if current_builder_element.can_build():
- var placed_tower = current_builder_element.element.duplicate() as Tower
- Game.place_tower(placed_tower, get_global_mouse_position().snapped(Game.map.tile_set.tile_size))
+ if Game.current_builder_element.can_build():
+ var placed_tower = Game.current_builder_element.element.duplicate() as Tower
+ Game.place_tower(placed_tower, Game.current_builder_element.global_position)
placed_tower.selected.connect(func():
%Tower.text = "Range: %s - Power: %s - Speed: %s" % [
@@ -86,24 +92,19 @@ func _input(event: InputEvent):
)
if not Input.is_action_pressed("builder_tower_place_keep"):
- current_builder_element.queue_free()
- Game.mode = Game.Mode.DEFAULT
+ Game.stop_build_mode()
- if event.is_action_pressed("builder_cancel"):
+ if event.is_action_pressed("builder_cancel") or event.is_action_pressed("build_mode_start"):
get_viewport().set_input_as_handled()
-
- current_builder_element.queue_free()
- Game.mode = Game.Mode.DEFAULT
+ Game.stop_build_mode()
-func _on_texture_rect_gui_input(event: InputEvent):
+func _on_build_mode_button_gui_input(event: InputEvent) -> void:
if event.is_action_pressed("builder_tower_select"):
Game.mode = Game.Mode.BUILD
-
- var scene = preload("res://BuilderElement.tscn")
- var builder_element = scene.instantiate()
- var tower = preload("res://Tower.tscn").instantiate() as Tower
- tower.attack_range = [16, 32, 64].pick_random()
- builder_element.element = tower
- add_child(builder_element)
- current_builder_element = builder_element
+ Game.start_build_mode()
+
+
+func _on_spawner_box_button_gui_input(event: InputEvent) -> void:
+ if event.is_action_pressed("select"):
+ %SpawnBox.visible = not %SpawnBox.visible