diff options
author | tpart <tpart120@proton.me> | 2025-09-29 22:50:44 +0200 |
---|---|---|
committer | tpart <tpart120@proton.me> | 2025-09-29 22:50:50 +0200 |
commit | c1e826625f3ca3116d482b27e2f0b230cbd55346 (patch) | |
tree | 7ad7b96afc3b88574a7d000a5ca615e9eff91083 /client/gui/overlays/controls_visualization/keyboard/keyboard_explanation.gd | |
parent | 0c8f9abfd586964c0f04a0a81989ae2d3dbfebdb (diff) | |
download | hurrycurry-c1e826625f3ca3116d482b27e2f0b230cbd55346.tar hurrycurry-c1e826625f3ca3116d482b27e2f0b230cbd55346.tar.bz2 hurrycurry-c1e826625f3ca3116d482b27e2f0b230cbd55346.tar.zst |
Add new controls explanation (Closes #427)
Diffstat (limited to 'client/gui/overlays/controls_visualization/keyboard/keyboard_explanation.gd')
-rw-r--r-- | client/gui/overlays/controls_visualization/keyboard/keyboard_explanation.gd | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/client/gui/overlays/controls_visualization/keyboard/keyboard_explanation.gd b/client/gui/overlays/controls_visualization/keyboard/keyboard_explanation.gd new file mode 100644 index 00000000..5d6dfb42 --- /dev/null +++ b/client/gui/overlays/controls_visualization/keyboard/keyboard_explanation.gd @@ -0,0 +1,46 @@ +# Hurry Curry! - a game about cooking +# Copyright (C) 2025 Hurry Curry! contributors +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, version 3 of the License only. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. +# +class_name KeyboardExplanation +extends DeviceExplanation + +const MODULATE_SPEED := 5. + +var double_handed := false + +@onready var j: Node2D = $VBoxContainer/Control2/JKL/J +@onready var l: Node2D = $VBoxContainer/Control2/JKL/L + +@onready var left_hand_label: Label = $VBoxContainer/Control2/JKL/LeftHand/Label +@onready var right_hand: Node2D = $VBoxContainer/Control2/JKL/RightHand +@onready var right_arrow: Sprite2D = $VBoxContainer/Control2/JKL/Sprite2D2 + +func toggle_double_handed(val: bool) -> void: + double_handed = val + right_hand.visible = val + right_arrow.visible = val + l.visible = val + left_hand_label.text = tr("c.controls_explanation.interact_left") if val else tr("c.settings.input.interact") + +var t := 0. +func _process(delta: float) -> void: + if not double_handed: return + + t += delta + var weight: float = (cos(t * MODULATE_SPEED) - 1.) * -0.5 + for i: Node2D in [j,l]: + i.modulate = Color.WHITE.lerp(Color("ffcd59ff"), weight) + var size_ := lerpf(1, 1.2, weight) + i.scale = Vector2(size_, size_) |