From 78186bdcb2f15f8ad00cb83ccaeb5273f328d41c Mon Sep 17 00:00:00 2001 From: tpart Date: Fri, 12 Jul 2024 01:20:10 +0200 Subject: Refactor hint system; Fix hint showing up multiple times --- client/menu/popup_message.gd | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'client/menu') 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 -- cgit v1.2.3-70-g09d2