2024-12-23 01:29:31 +00:00
|
|
|
extends Node2D
|
|
|
|
|
2025-06-27 18:41:37 +00:00
|
|
|
# @export var locale := "":
|
|
|
|
# set(val):
|
|
|
|
# TranslationServer.set_locale(val)
|
|
|
|
# locale = val
|
2024-12-24 01:16:06 +00:00
|
|
|
|
2025-07-01 11:40:30 +00:00
|
|
|
@onready var vignette = %Vignette as ColorRect
|
|
|
|
|
2025-01-08 00:51:09 +00:00
|
|
|
|
2024-12-23 01:29:31 +00:00
|
|
|
func _ready() -> void:
|
2025-01-16 12:24:21 +00:00
|
|
|
%UILayer.layer = GlobalConfig.CANVAS_LAYER_UI
|
2025-01-06 08:06:20 +00:00
|
|
|
%ColorRectTop.visible = true
|
|
|
|
%ColorRectBottom.visible = true
|
2025-01-16 12:24:21 +00:00
|
|
|
# focus_mode = Control.FOCUS_CLICK
|
|
|
|
# settings.exited.connect(grab_focus)
|
|
|
|
|
|
|
|
|
2025-07-16 15:20:55 +00:00
|
|
|
var debug_button_last_press_msec := 0
|
|
|
|
var debug_button_pressed_count := 0
|
|
|
|
|
|
|
|
|
2025-01-16 12:24:21 +00:00
|
|
|
func _unhandled_input(event: InputEvent) -> void:
|
|
|
|
if event.is_action_pressed("escape"):
|
|
|
|
get_viewport().set_input_as_handled()
|
2025-06-27 14:52:46 +00:00
|
|
|
SceneManager.show_panel()
|
|
|
|
# SceneManager.show_settings()
|
2025-01-16 12:24:21 +00:00
|
|
|
elif event.is_action_pressed("bag"):
|
2025-06-27 14:52:46 +00:00
|
|
|
get_viewport().set_input_as_handled()
|
2025-01-16 12:24:21 +00:00
|
|
|
SceneManager.show_bag()
|
2025-06-27 14:52:46 +00:00
|
|
|
elif event.is_action_pressed("memory"):
|
|
|
|
get_viewport().set_input_as_handled()
|
|
|
|
SceneManager.show_memory()
|
|
|
|
elif event.is_action_pressed("note"):
|
2025-01-16 12:24:21 +00:00
|
|
|
get_viewport().set_input_as_handled()
|
2025-06-27 14:52:46 +00:00
|
|
|
SceneManager.show_note()
|
|
|
|
elif event.is_action_pressed("panel"):
|
2025-06-23 15:07:00 +00:00
|
|
|
get_viewport().set_input_as_handled()
|
2025-06-27 14:52:46 +00:00
|
|
|
SceneManager.show_panel()
|
2025-07-18 11:52:49 +00:00
|
|
|
elif event.is_action_pressed("debugging"):
|
2025-07-16 15:20:55 +00:00
|
|
|
if GlobalConfig.DEBUG:
|
|
|
|
get_viewport().set_input_as_handled()
|
2025-07-20 12:13:12 +00:00
|
|
|
SceneManager.show_debugging()
|
2025-07-16 15:20:55 +00:00
|
|
|
else:
|
|
|
|
# 连续按 5 次开启 debug mode
|
|
|
|
var time = Time.get_ticks_msec()
|
|
|
|
if time - debug_button_last_press_msec < 500:
|
|
|
|
debug_button_pressed_count += 1
|
|
|
|
else:
|
|
|
|
debug_button_pressed_count = 1
|
|
|
|
debug_button_last_press_msec = time
|
|
|
|
if debug_button_pressed_count >= 5:
|
|
|
|
get_viewport().set_input_as_handled()
|
|
|
|
# 不写入配置
|
|
|
|
GlobalConfig.DEBUG = true
|
2025-07-20 12:13:12 +00:00
|
|
|
SceneManager.show_debugging()
|
2025-07-01 11:40:30 +00:00
|
|
|
|
|
|
|
|
|
|
|
var vignette_tween: Tween
|
|
|
|
|
|
|
|
|
|
|
|
func tween_vignette(ratio := 0.5, duration := 0.3, color := Color.RED):
|
|
|
|
if vignette_tween and vignette_tween.is_valid():
|
|
|
|
vignette_tween.kill()
|
|
|
|
vignette_tween = create_tween()
|
|
|
|
vignette_tween.tween_property(
|
|
|
|
vignette.material, "shader_parameter/vignette_ratio", ratio, duration
|
|
|
|
)
|
|
|
|
vignette_tween.parallel().tween_property(
|
|
|
|
vignette.material, "shader_parameter/vignette_rgb", color, duration
|
|
|
|
)
|