From 7f7b6cc00968ee2af6dd7327202ad1357dd1c9dd Mon Sep 17 00:00:00 2001 From: Christen Lofland Date: Fri, 19 Apr 2024 15:38:48 -0500 Subject: [PATCH] Further improve tool keyboard input menu. (Right Hand is not settable yet, but displayed.) --- player/player.tscn | 197 +++++++++++++----------- player/player_interaction_controller.gd | 74 ++++----- 2 files changed, 141 insertions(+), 130 deletions(-) diff --git a/player/player.tscn b/player/player.tscn index 8229d91..c966c57 100644 --- a/player/player.tscn +++ b/player/player.tscn @@ -250,195 +250,212 @@ offset_top = -10.0 offset_right = 5.0 color = Color(0.431373, 0.431373, 0.431373, 1) -[node name="Tools" type="Control" parent="Player Canvas"] -layout_mode = 3 -anchors_preset = 0 -offset_right = 40.0 -offset_bottom = 40.0 - -[node name="Keys Old" type="Label" parent="Player Canvas/Tools"] -visible = false -layout_mode = 0 -offset_left = 8.0 -offset_top = 83.0 -offset_right = 48.0 -offset_bottom = 188.0 -theme_override_fonts/font = ExtResource("5_lj6li") -text = "v -b -f -g" - -[node name="Key Labels" type="Label" parent="Player Canvas/Tools"] -visible = false -layout_mode = 0 -offset_left = 29.0 -offset_top = 89.0 -offset_right = 106.0 -offset_bottom = 190.0 -text = " - Mine - - Build - - Pick Up - - Drag -" - -[node name="Keys" type="VBoxContainer" parent="Player Canvas/Tools"] -layout_mode = 0 +[node name="Keys" type="VBoxContainer" parent="Player Canvas"] offset_top = -1.0 -offset_right = 40.0 -offset_bottom = 39.0 +offset_right = 116.0 +offset_bottom = 150.0 -[node name="Title" type="Label" parent="Player Canvas/Tools/Keys"] +[node name="Title Bar" type="Label" parent="Player Canvas/Keys"] layout_mode = 2 -text = "Tools" +text = "L <-Hand-> R" +horizontal_alignment = 3 -[node name="Current" type="Label" parent="Player Canvas/Tools/Keys"] +[node name="Mine" type="HBoxContainer" parent="Player Canvas/Keys"] layout_mode = 2 -[node name="Mine" type="HBoxContainer" parent="Player Canvas/Tools/Keys"] -auto_translate_mode = 1 -layout_mode = 2 - -[node name="Key Margin Container" type="MarginContainer" parent="Player Canvas/Tools/Keys/Mine"] -auto_translate_mode = 1 +[node name="Left" type="MarginContainer" parent="Player Canvas/Keys/Mine"] layout_mode = 2 theme_override_constants/margin_top = -10 -[node name="Key" type="Label" parent="Player Canvas/Tools/Keys/Mine/Key Margin Container"] -auto_translate_mode = 1 +[node name="Key" type="Label" parent="Player Canvas/Keys/Mine/Left"] +visible = false layout_mode = 2 theme_override_fonts/font = ExtResource("5_lj6li") theme_override_font_sizes/font_size = 25 text = "v" -[node name="Key Pressed" type="Label" parent="Player Canvas/Tools/Keys/Mine/Key Margin Container"] -auto_translate_mode = 1 -visible = false +[node name="Key Pressed" type="Label" parent="Player Canvas/Keys/Mine/Left"] layout_mode = 2 theme_override_fonts/font = ExtResource("6_prcwm") theme_override_font_sizes/font_size = 25 text = "v" -[node name="Label Margin Container" type="MarginContainer" parent="Player Canvas/Tools/Keys/Mine"] -auto_translate_mode = 1 +[node name="Label" type="MarginContainer" parent="Player Canvas/Keys/Mine"] layout_mode = 2 +size_flags_horizontal = 3 theme_override_constants/margin_bottom = 4 -[node name="Label" type="Label" parent="Player Canvas/Tools/Keys/Mine/Label Margin Container"] -auto_translate_mode = 1 +[node name="Label" type="Label" parent="Player Canvas/Keys/Mine/Label"] layout_mode = 2 size_flags_vertical = 8 text = "Mine" +horizontal_alignment = 1 vertical_alignment = 2 -[node name="Build" type="HBoxContainer" parent="Player Canvas/Tools/Keys"] -auto_translate_mode = 1 +[node name="Right" type="MarginContainer" parent="Player Canvas/Keys/Mine"] layout_mode = 2 +theme_override_constants/margin_top = -10 -[node name="Key Margin Container" type="MarginContainer" parent="Player Canvas/Tools/Keys/Build"] -auto_translate_mode = 1 +[node name="Key" type="Label" parent="Player Canvas/Keys/Mine/Right"] +layout_mode = 2 +theme_override_fonts/font = ExtResource("5_lj6li") +theme_override_font_sizes/font_size = 25 +text = "v" + +[node name="Key Pressed" type="Label" parent="Player Canvas/Keys/Mine/Right"] +visible = false +layout_mode = 2 +theme_override_fonts/font = ExtResource("6_prcwm") +theme_override_font_sizes/font_size = 25 +text = "v" + +[node name="Build" type="HBoxContainer" parent="Player Canvas/Keys"] +layout_mode = 2 + +[node name="Left" type="MarginContainer" parent="Player Canvas/Keys/Build"] layout_mode = 2 theme_override_constants/margin_top = -10 -[node name="Key" type="Label" parent="Player Canvas/Tools/Keys/Build/Key Margin Container"] -auto_translate_mode = 1 +[node name="Key" type="Label" parent="Player Canvas/Keys/Build/Left"] layout_mode = 2 theme_override_fonts/font = ExtResource("5_lj6li") theme_override_font_sizes/font_size = 25 text = "b" -[node name="Key Pressed" type="Label" parent="Player Canvas/Tools/Keys/Build/Key Margin Container"] -auto_translate_mode = 1 +[node name="Key Pressed" type="Label" parent="Player Canvas/Keys/Build/Left"] visible = false layout_mode = 2 theme_override_fonts/font = ExtResource("6_prcwm") theme_override_font_sizes/font_size = 25 text = "b" -[node name="Label Margin Container" type="MarginContainer" parent="Player Canvas/Tools/Keys/Build"] -auto_translate_mode = 1 +[node name="Label" type="MarginContainer" parent="Player Canvas/Keys/Build"] layout_mode = 2 +size_flags_horizontal = 3 theme_override_constants/margin_bottom = 4 -[node name="Label" type="Label" parent="Player Canvas/Tools/Keys/Build/Label Margin Container"] -auto_translate_mode = 1 +[node name="Label" type="Label" parent="Player Canvas/Keys/Build/Label"] layout_mode = 2 size_flags_vertical = 8 text = "Build" +horizontal_alignment = 1 vertical_alignment = 2 -[node name="Pickup" type="HBoxContainer" parent="Player Canvas/Tools/Keys"] -auto_translate_mode = 1 +[node name="Right" type="MarginContainer" parent="Player Canvas/Keys/Build"] layout_mode = 2 +theme_override_constants/margin_top = -10 + +[node name="Key" type="Label" parent="Player Canvas/Keys/Build/Right"] +visible = false +layout_mode = 2 +theme_override_fonts/font = ExtResource("5_lj6li") +theme_override_font_sizes/font_size = 25 +text = "b" -[node name="Key Margin Container" type="MarginContainer" parent="Player Canvas/Tools/Keys/Pickup"] -auto_translate_mode = 1 +[node name="Key Pressed" type="Label" parent="Player Canvas/Keys/Build/Right"] +layout_mode = 2 +theme_override_fonts/font = ExtResource("6_prcwm") +theme_override_font_sizes/font_size = 25 +text = "b" + +[node name="Pickup" type="HBoxContainer" parent="Player Canvas/Keys"] +layout_mode = 2 + +[node name="Left" type="MarginContainer" parent="Player Canvas/Keys/Pickup"] layout_mode = 2 theme_override_constants/margin_top = -10 -[node name="Key" type="Label" parent="Player Canvas/Tools/Keys/Pickup/Key Margin Container"] -auto_translate_mode = 1 +[node name="Key" type="Label" parent="Player Canvas/Keys/Pickup/Left"] layout_mode = 2 theme_override_fonts/font = ExtResource("5_lj6li") theme_override_font_sizes/font_size = 25 text = "f" -[node name="Key Pressed" type="Label" parent="Player Canvas/Tools/Keys/Pickup/Key Margin Container"] -auto_translate_mode = 1 +[node name="Key Pressed" type="Label" parent="Player Canvas/Keys/Pickup/Left"] visible = false layout_mode = 2 theme_override_fonts/font = ExtResource("6_prcwm") theme_override_font_sizes/font_size = 25 text = "f" -[node name="Label Margin Container" type="MarginContainer" parent="Player Canvas/Tools/Keys/Pickup"] -auto_translate_mode = 1 +[node name="Label" type="MarginContainer" parent="Player Canvas/Keys/Pickup"] layout_mode = 2 +size_flags_horizontal = 3 theme_override_constants/margin_bottom = 4 -[node name="Label" type="Label" parent="Player Canvas/Tools/Keys/Pickup/Label Margin Container"] -auto_translate_mode = 1 +[node name="Label" type="Label" parent="Player Canvas/Keys/Pickup/Label"] layout_mode = 2 size_flags_vertical = 8 text = "Pick Up" +horizontal_alignment = 1 vertical_alignment = 2 -[node name="Drag" type="HBoxContainer" parent="Player Canvas/Tools/Keys"] -auto_translate_mode = 1 +[node name="Right" type="MarginContainer" parent="Player Canvas/Keys/Pickup"] +layout_mode = 2 +theme_override_constants/margin_top = -10 + +[node name="Key" type="Label" parent="Player Canvas/Keys/Pickup/Right"] +layout_mode = 2 +theme_override_fonts/font = ExtResource("5_lj6li") +theme_override_font_sizes/font_size = 25 +text = "f" + +[node name="Key Pressed" type="Label" parent="Player Canvas/Keys/Pickup/Right"] +visible = false +layout_mode = 2 +theme_override_fonts/font = ExtResource("6_prcwm") +theme_override_font_sizes/font_size = 25 +text = "f" + +[node name="Drag" type="HBoxContainer" parent="Player Canvas/Keys"] layout_mode = 2 -[node name="Key Margin Container" type="MarginContainer" parent="Player Canvas/Tools/Keys/Drag"] -auto_translate_mode = 1 +[node name="Left" type="MarginContainer" parent="Player Canvas/Keys/Drag"] layout_mode = 2 theme_override_constants/margin_top = -10 -[node name="Key" type="Label" parent="Player Canvas/Tools/Keys/Drag/Key Margin Container"] -auto_translate_mode = 1 +[node name="Key" type="Label" parent="Player Canvas/Keys/Drag/Left"] layout_mode = 2 theme_override_fonts/font = ExtResource("5_lj6li") theme_override_font_sizes/font_size = 25 text = "g" -[node name="Key Pressed" type="Label" parent="Player Canvas/Tools/Keys/Drag/Key Margin Container"] -auto_translate_mode = 1 +[node name="Key Pressed" type="Label" parent="Player Canvas/Keys/Drag/Left"] visible = false layout_mode = 2 theme_override_fonts/font = ExtResource("6_prcwm") theme_override_font_sizes/font_size = 25 text = "g" -[node name="Label Margin Container" type="MarginContainer" parent="Player Canvas/Tools/Keys/Drag"] -auto_translate_mode = 1 +[node name="Label" type="MarginContainer" parent="Player Canvas/Keys/Drag"] layout_mode = 2 +size_flags_horizontal = 3 theme_override_constants/margin_bottom = 4 -[node name="Label" type="Label" parent="Player Canvas/Tools/Keys/Drag/Label Margin Container"] -auto_translate_mode = 1 +[node name="Label" type="Label" parent="Player Canvas/Keys/Drag/Label"] layout_mode = 2 size_flags_vertical = 8 text = "Drag" +horizontal_alignment = 1 vertical_alignment = 2 +[node name="Right" type="MarginContainer" parent="Player Canvas/Keys/Drag"] +layout_mode = 2 +theme_override_constants/margin_top = -10 + +[node name="Key" type="Label" parent="Player Canvas/Keys/Drag/Right"] +layout_mode = 2 +theme_override_fonts/font = ExtResource("5_lj6li") +theme_override_font_sizes/font_size = 25 +text = "g" + +[node name="Key Pressed" type="Label" parent="Player Canvas/Keys/Drag/Right"] +visible = false +layout_mode = 2 +theme_override_fonts/font = ExtResource("6_prcwm") +theme_override_font_sizes/font_size = 25 +text = "g" + [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."] z_index = -1 position = Vector2(3, -30) diff --git a/player/player_interaction_controller.gd b/player/player_interaction_controller.gd index ecf964b..e8b68a0 100644 --- a/player/player_interaction_controller.gd +++ b/player/player_interaction_controller.gd @@ -53,10 +53,8 @@ func initialize(local: bool) -> void: set_process_unhandled_key_input(is_local) set_physics_process(is_local) set_physics_process_internal(is_local) - if is_local: - owner.get_node("Player Canvas/Tools/Keys/Current").text = "Left: Mine\nRight: Place Block" - else: - owner.get_node("Player Canvas/Tools").visible = false + if not is_local: + owner.get_node("Player Canvas/Keys").visible = false func _process(delta: float) -> void: @@ -161,51 +159,47 @@ func _input(event: InputEvent) -> void: var previous_left_hand_tool: Globals.Tools = left_hand_tool if event.is_action_released(&"build"): left_hand_tool = Globals.Tools.BUILD - owner.get_node("Player Canvas/Tools/Keys/Current").text = "Left: Build\nRight: Place Block" - owner.get_node("Player Canvas/Tools/Keys/Mine/Key Margin Container/Key").visible = true - owner.get_node("Player Canvas/Tools/Keys/Mine/Key Margin Container/Key Pressed").visible = false - owner.get_node("Player Canvas/Tools/Keys/Build/Key Margin Container/Key").visible = false - owner.get_node("Player Canvas/Tools/Keys/Build/Key Margin Container/Key Pressed").visible = true - owner.get_node("Player Canvas/Tools/Keys/Pickup/Key Margin Container/Key").visible = true - owner.get_node("Player Canvas/Tools/Keys/Pickup/Key Margin Container/Key Pressed").visible = false - owner.get_node("Player Canvas/Tools/Keys/Drag/Key Margin Container/Key").visible = true - owner.get_node("Player Canvas/Tools/Keys/Drag/Key Margin Container/Key Pressed").visible = false + owner.get_node("Player Canvas/Keys/Mine/Left/Key").visible = true + owner.get_node("Player Canvas/Keys/Mine/Left/Key Pressed").visible = false + owner.get_node("Player Canvas/Keys/Build/Left/Key").visible = false + owner.get_node("Player Canvas/Keys/Build/Left/Key Pressed").visible = true + owner.get_node("Player Canvas/Keys/Pickup/Left/Key").visible = true + owner.get_node("Player Canvas/Keys/Pickup/Left/Key Pressed").visible = false + owner.get_node("Player Canvas/Keys/Drag/Left/Key").visible = true + owner.get_node("Player Canvas/Keys/Drag/Left/Key Pressed").visible = false Globals.player_has_done.press_build_button = true owner.spawn_item() elif event.is_action_released(&"mine"): - owner.get_node("Player Canvas/Tools/Keys/Current").text = "Left: Mine\nRight: Place Block" - owner.get_node("Player Canvas/Tools/Keys/Mine/Key Margin Container/Key").visible = false - owner.get_node("Player Canvas/Tools/Keys/Mine/Key Margin Container/Key Pressed").visible = true - owner.get_node("Player Canvas/Tools/Keys/Build/Key Margin Container/Key").visible = true - owner.get_node("Player Canvas/Tools/Keys/Build/Key Margin Container/Key Pressed").visible = false - owner.get_node("Player Canvas/Tools/Keys/Pickup/Key Margin Container/Key").visible = true - owner.get_node("Player Canvas/Tools/Keys/Pickup/Key Margin Container/Key Pressed").visible = false - owner.get_node("Player Canvas/Tools/Keys/Drag/Key Margin Container/Key").visible = true - owner.get_node("Player Canvas/Tools/Keys/Drag/Key Margin Container/Key Pressed").visible = false + owner.get_node("Player Canvas/Keys/Mine/Left/Key").visible = false + owner.get_node("Player Canvas/Keys/Mine/Left/Key Pressed").visible = true + owner.get_node("Player Canvas/Keys/Build/Left/Key").visible = true + owner.get_node("Player Canvas/Keys/Build/Left/Key Pressed").visible = false + owner.get_node("Player Canvas/Keys/Pickup/Left/Key").visible = true + owner.get_node("Player Canvas/Keys/Pickup/Left/Key Pressed").visible = false + owner.get_node("Player Canvas/Keys/Drag/Left/Key").visible = true + owner.get_node("Player Canvas/Keys/Drag/Left/Key Pressed").visible = false if left_hand_tool != Globals.Tools.MINE: Globals.player_has_done.returned_to_mining_mode = true left_hand_tool = Globals.Tools.MINE elif event.is_action_released(&"pickup"): - owner.get_node("Player Canvas/Tools/Keys/Current").text = "Left: Pick Up\nRight: Place Block" - owner.get_node("Player Canvas/Tools/Keys/Mine/Key Margin Container/Key").visible = true - owner.get_node("Player Canvas/Tools/Keys/Mine/Key Margin Container/Key Pressed").visible = false - owner.get_node("Player Canvas/Tools/Keys/Build/Key Margin Container/Key").visible = true - owner.get_node("Player Canvas/Tools/Keys/Build/Key Margin Container/Key Pressed").visible = false - owner.get_node("Player Canvas/Tools/Keys/Pickup/Key Margin Container/Key").visible = false - owner.get_node("Player Canvas/Tools/Keys/Pickup/Key Margin Container/Key Pressed").visible = true - owner.get_node("Player Canvas/Tools/Keys/Drag/Key Margin Container/Key").visible = true - owner.get_node("Player Canvas/Tools/Keys/Drag/Key Margin Container/Key Pressed").visible = false + owner.get_node("Player Canvas/Keys/Mine/Left/Key").visible = true + owner.get_node("Player Canvas/Keys/Mine/Left/Key Pressed").visible = false + owner.get_node("Player Canvas/Keys/Build/Left/Key").visible = true + owner.get_node("Player Canvas/Keys/Build/Left/Key Pressed").visible = false + owner.get_node("Player Canvas/Keys/Pickup/Left/Key").visible = false + owner.get_node("Player Canvas/Keys/Pickup/Left/Key Pressed").visible = true + owner.get_node("Player Canvas/Keys/Drag/Left/Key").visible = true + owner.get_node("Player Canvas/Keys/Drag/Left/Key Pressed").visible = false left_hand_tool = Globals.Tools.PICKUP elif event.is_action_released(&"drag"): - owner.get_node("Player Canvas/Tools/Keys/Current").text = "Left: Drag\nRight: Place Block" - owner.get_node("Player Canvas/Tools/Keys/Mine/Key Margin Container/Key").visible = true - owner.get_node("Player Canvas/Tools/Keys/Mine/Key Margin Container/Key Pressed").visible = false - owner.get_node("Player Canvas/Tools/Keys/Build/Key Margin Container/Key").visible = true - owner.get_node("Player Canvas/Tools/Keys/Build/Key Margin Container/Key Pressed").visible = false - owner.get_node("Player Canvas/Tools/Keys/Pickup/Key Margin Container/Key").visible = true - owner.get_node("Player Canvas/Tools/Keys/Pickup/Key Margin Container/Key Pressed").visible = false - owner.get_node("Player Canvas/Tools/Keys/Drag/Key Margin Container/Key").visible = false - owner.get_node("Player Canvas/Tools/Keys/Drag/Key Margin Container/Key Pressed").visible = true + owner.get_node("Player Canvas/Keys/Mine/Left/Key").visible = true + owner.get_node("Player Canvas/Keys/Mine/Left/Key Pressed").visible = false + owner.get_node("Player Canvas/Keys/Build/Left/Key").visible = true + owner.get_node("Player Canvas/Keys/Build/Left/Key Pressed").visible = false + owner.get_node("Player Canvas/Keys/Pickup/Left/Key").visible = true + owner.get_node("Player Canvas/Keys/Pickup/Left/Key Pressed").visible = false + owner.get_node("Player Canvas/Keys/Drag/Left/Key").visible = false + owner.get_node("Player Canvas/Keys/Drag/Left/Key Pressed").visible = true left_hand_tool = Globals.Tools.DRAG if event is InputEventMouseButton: if event.button_index == 1 and event.is_pressed():