diff --git a/entities/DirectorDrone.tscn b/entities/DirectorDrone.tscn index f96ed5e..0783eec 100644 --- a/entities/DirectorDrone.tscn +++ b/entities/DirectorDrone.tscn @@ -107,6 +107,7 @@ color = Color(0.703926, 0.656042, 0.441124, 1) polygon = PackedVector2Array(-28, -25, 25, -28, 26, 33, -32, 19) [node name="Label" type="Label" parent="."] +visible = false offset_left = 16.0 offset_top = 25.0 offset_right = 56.0 diff --git a/entities/scripts/director_drone.gd b/entities/scripts/director_drone.gd index 426fbee..de2c4b8 100644 --- a/entities/scripts/director_drone.gd +++ b/entities/scripts/director_drone.gd @@ -20,19 +20,22 @@ func update_label_value(): $Label.text = str(visit_order) func _on_click_detection_mouse_entered(): - Log.pr("Mouse entered the director drone!") - label.visible = true - Input.set_custom_mouse_cursor(edit_cursor, Input.CURSOR_ARROW, Vector2(32, 32)) + if GameState.placing_drone == false: + Log.pr("Mouse entered the director drone!") + label.visible = true + Input.set_custom_mouse_cursor(edit_cursor, Input.CURSOR_ARROW, Vector2(32, 32)) func _on_click_detection_mouse_exited(): - Log.pr("Mouse exited the director drone!") - label.visible = false - Input.set_custom_mouse_cursor(null) + if GameState.placing_drone == false: + Log.pr("Mouse exited the director drone!") + label.visible = false + Input.set_custom_mouse_cursor(null) func _on_click_detection_input_event(_viewport:Node, event:InputEvent, _shape_idx:int): - if (event is InputEventMouseButton && event.button_index == MOUSE_BUTTON_RIGHT && event.pressed): - Input.set_custom_mouse_cursor(null) - queue_free() - get_parent().get_parent().update_director_drone_list() + if GameState.placing_drone == false: + if (event is InputEventMouseButton && event.button_index == MOUSE_BUTTON_RIGHT && event.pressed): + Input.set_custom_mouse_cursor(null) + queue_free() + get_parent().get_parent().update_director_drone_list() diff --git a/levels/level_3.tscn b/levels/level_3.tscn index 387de11..e1f1459 100644 --- a/levels/level_3.tscn +++ b/levels/level_3.tscn @@ -173,9 +173,10 @@ unique_name_in_owner = true [node name="UiComponent" parent="." instance=ExtResource("13_cw1ps")] unique_name_in_owner = true -z_index = 20 +z_index = 1000 offset_right = 1280.0 offset_bottom = 720.0 +mouse_filter = 1 [node name="DroneManager" parent="." instance=ExtResource("14_mtjsg")] unique_name_in_owner = true diff --git a/scenes/scripts/drone_manager.gd b/scenes/scripts/drone_manager.gd index f344ae9..e81d8b7 100644 --- a/scenes/scripts/drone_manager.gd +++ b/scenes/scripts/drone_manager.gd @@ -82,6 +82,7 @@ func place_drone(drone_type : String) -> void: drone_controls.disable_buttons() Log.pr("Placing " + drone_type + "...") spawning_drone = true + GameState.placing_drone = true # This should probably be rolled into the above line spawning_type = drone_type func cancel_spawning() -> void: @@ -89,6 +90,7 @@ func cancel_spawning() -> void: drone_controls.reset_button_focus() drone_controls.enable_buttons() spawning_drone = false + GameState.placing_drone = false spawning_type = "" reset_node_highlights() diff --git a/scenes/scripts/main_menu.gd b/scenes/scripts/main_menu.gd index 084ea2c..5e88e7c 100644 --- a/scenes/scripts/main_menu.gd +++ b/scenes/scripts/main_menu.gd @@ -20,13 +20,21 @@ func _on_item_menu_pressed(id): 1: # Load level 1 SceneMgr.load_scene("LEVEL1") - #get_tree().change_scene_to_file("res://levels/level_1.tscn") 2: # Load level 2 SceneMgr.load_scene("LEVEL2") 3: # Load level 3 SceneMgr.load_scene("LEVEL3") + 4: + # Load level 4 + SceneMgr.load_scene("LEVEL4") + 5: + # Load level 5 + SceneMgr.load_scene("LEVEL5") + 6: + # Load level 6 + SceneMgr.load_scene("LEVEL6") func on_high_scores_pressed(): ## Load the high scores screen diff --git a/ui/UiComponent.tscn b/ui/UiComponent.tscn index 88d1d97..55f3ea3 100644 --- a/ui/UiComponent.tscn +++ b/ui/UiComponent.tscn @@ -15,6 +15,7 @@ script = ExtResource("1_6lnte") [node name="PauseMenu" type="Control" parent="."] unique_name_in_owner = true process_mode = 2 +visible = false layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 diff --git a/ui/scripts/ui_component.gd b/ui/scripts/ui_component.gd index 42b28eb..5fa4236 100644 --- a/ui/scripts/ui_component.gd +++ b/ui/scripts/ui_component.gd @@ -26,7 +26,7 @@ func _ready(): func _process(delta): last_update += delta - disable_pause = false + disable_pause = false # This is a mega hacky way to stop the game instantly repausing after unpausing if last_update > update_interval: last_update = 0 diff --git a/utility/game_state.gd b/utility/game_state.gd index 56c5f55..d102a52 100644 --- a/utility/game_state.gd +++ b/utility/game_state.gd @@ -1,5 +1,7 @@ class_name GameStateManager extends Node +var placing_drone : bool = false + var level_timer : float = 0.0 var level_started : bool = false