Update drone placement logic, level loading functionality, and UI behavior. Set visibility of labels, manage mouse cursor changes, and handle game state for placing drones.
This commit is contained in:
parent
b6cdb68b4e
commit
f9865cf1fa
8 changed files with 31 additions and 13 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue