From ecaf5e630495ec0cde4ac638799fbf9fa4493eff Mon Sep 17 00:00:00 2001 From: tpart Date: Thu, 4 Jul 2024 09:37:40 +0200 Subject: Apply touch screen setting without restarting --- client/player/onscreen_controls/controls.gd | 6 +++++- client/player/onscreen_controls/virtual_joystick.gd | 6 +----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/client/player/onscreen_controls/controls.gd b/client/player/onscreen_controls/controls.gd index be7fe67e..7c235f0e 100644 --- a/client/player/onscreen_controls/controls.gd +++ b/client/player/onscreen_controls/controls.gd @@ -21,7 +21,11 @@ extends CanvasLayer @onready var modulate_color = $MovementStick.pressed_color func _ready(): - buttons.visible = Global.get_setting("touch_controls") + apply_settings() + Global.settings_changed.connect(apply_settings) + +func apply_settings(): + visible = Global.get_setting("touch_controls") func _on_boost_pressed(): Input.action_press("boost") diff --git a/client/player/onscreen_controls/virtual_joystick.gd b/client/player/onscreen_controls/virtual_joystick.gd index 406de29b..83643417 100644 --- a/client/player/onscreen_controls/virtual_joystick.gd +++ b/client/player/onscreen_controls/virtual_joystick.gd @@ -33,11 +33,10 @@ enum Joystick_mode { enum Visibility_mode { ALWAYS, TOUCHSCREEN_ONLY, - SETTING, WHEN_TOUCHED } -@export var visibility_mode := Visibility_mode.SETTING +@export var visibility_mode := Visibility_mode.ALWAYS @export var use_input_actions := true @@ -66,9 +65,6 @@ func _ready() -> void: if visibility_mode == Visibility_mode.WHEN_TOUCHED: hide() - - if visibility_mode == Visibility_mode.SETTING and not Global.get_setting("touch_controls"): - hide() func _input(event: InputEvent) -> void: if event is InputEventScreenTouch: -- cgit v1.2.3-70-g09d2