diff options
author | tpart <tpart120@proton.me> | 2024-07-12 01:20:10 +0200 |
---|---|---|
committer | tpart <tpart120@proton.me> | 2024-07-12 01:20:10 +0200 |
commit | 78186bdcb2f15f8ad00cb83ccaeb5273f328d41c (patch) | |
tree | fdd97bc462d341672ea528f3ad6b2b390103177a /client/menu | |
parent | ca482a7b052883bd1d830a88d104bab366eeadeb (diff) | |
download | hurrycurry-78186bdcb2f15f8ad00cb83ccaeb5273f328d41c.tar hurrycurry-78186bdcb2f15f8ad00cb83ccaeb5273f328d41c.tar.bz2 hurrycurry-78186bdcb2f15f8ad00cb83ccaeb5273f328d41c.tar.zst |
Refactor hint system; Fix hint showing up multiple times
Diffstat (limited to 'client/menu')
-rw-r--r-- | client/menu/popup_message.gd | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/client/menu/popup_message.gd b/client/menu/popup_message.gd index b3654416..2b682343 100644 --- a/client/menu/popup_message.gd +++ b/client/menu/popup_message.gd @@ -54,21 +54,31 @@ func stop_game_hints(): func _input(_event): if Input.is_action_just_pressed("boost"): - Global.set_profile("hint_boost_seen", true) + Global.set_profile("has_boosted", true) + elif any_action_just_pressed(["forward", "backwards", "left", "right"]): + Global.set_profile("has_moved", true) + elif Input.is_action_just_pressed("interact"): + Global.set_profile("has_interacted", true) func _on_boost_timeout(): - if not Global.get_profile("hint_boost_seen") and not Global.get_setting("touch_controls"): + if not Global.get_profile("has_boosted") and not Global.get_setting("touch_controls"): display_hint_msg(tr("Press %s to boost") % display_keybind(tr("SHIFT"), "B")) func _on_move_timeout(): - if not Global.get_profile("hint_move_seen") and not Global.get_setting("touch_controls"): + if not Global.get_profile("has_moved") and not Global.get_setting("touch_controls"): display_hint_msg(tr("Use %s to move") % display_keybind("WASD", tr("left stick"))) func _on_interact_timeout(): - if not Global.get_profile("hint_interact_seen") and not Global.get_setting("touch_controls"): + if not Global.get_profile("has_interacted") and not Global.get_setting("touch_controls"): display_hint_msg(tr("Press %s to pick up items and interact with tools") % display_keybind(tr("SPACE"), "A")) func display_keybind(keyboard: String, joypad: String) -> String: if Global.using_joypad: return joypad + " (Joypad)" return keyboard + +func any_action_just_pressed(actions: Array) -> bool: + for a: String in actions: + if Input.is_action_just_pressed(a): + return true + return false |