Skip to content

Commit

Permalink
Further improve tool keyboard input menu.
Browse files Browse the repository at this point in the history
(Right Hand is not settable yet, but displayed.)
  • Loading branch information
chrisl8 committed Apr 19, 2024
1 parent 4719a22 commit 7f7b6cc
Show file tree
Hide file tree
Showing 2 changed files with 141 additions and 130 deletions.
197 changes: 107 additions & 90 deletions player/player.tscn
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
74 changes: 34 additions & 40 deletions player/player_interaction_controller.gd
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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():
Expand Down

0 comments on commit 7f7b6cc

Please sign in to comment.