diff options
Diffstat (limited to 'world.gd')
| -rw-r--r-- | world.gd | 53 | 
1 files changed, 27 insertions, 26 deletions
@@ -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  | 
