sauvegarde des contrôles

This commit is contained in:
2026-02-06 10:53:34 +01:00
parent 96d1a4f4dd
commit 5722fbb437
4 changed files with 41 additions and 11 deletions

View File

@@ -43,4 +43,9 @@ const AVAILABLE_LANGUAGES_LABEL = [
@export var full_screen : bool = false :
set(v):
full_screen = v
video_changed.emit(self)
video_changed.emit(self)
#region ------------------ Controls ------------------
@export var action_remapped : Array[String] = []
@export var input_remapped : Array[InputEvent] = []

View File

@@ -49,25 +49,26 @@ func restart_game_data():
func _init():
load_game_data()
load_settings_data()
update_language_settings(settings_data)
update_video_settings(settings_data)
update_language_settings()
update_video_settings()
settings_data.language_changed.connect(_on_settings_language_changed)
settings_data.video_changed.connect(_on_settings_video_changed)
func _on_settings_video_changed(s : SettingsData):
update_video_settings(s)
func _on_settings_language_changed(s : SettingsData):
update_language_settings(s)
func update_language_settings(s : SettingsData):
func update_language_settings(s : SettingsData = settings_data):
TranslationServer.set_locale(s.language)
func update_video_settings(s : SettingsData):
func update_video_settings(s : SettingsData = settings_data):
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN if s.full_screen else DisplayServer.WINDOW_MODE_WINDOWED)
func update_input(action : String, old_event : InputEvent, event : InputEvent):
InputMap.action_erase_event(action, old_event)
InputMap.action_add_event(action, event)
func update_inputs(s : SettingsData = settings_data):
for i in range(len(s.input_remapped)):
InputMap.action_erase_events(s.action_remapped[i])
InputMap.action_add_event(s.action_remapped[i], s.input_remapped[i])
print("Update %s action to %s" % [s.action_remapped[i], s.input_remapped[i].as_text()])

View File

@@ -62,6 +62,7 @@ func change_scene(scene_id : String, with_loading = true):
current_scene_node.show()
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED if scene.mouse_captured else Input.MOUSE_MODE_VISIBLE
GameInfo.update_inputs()
if with_loading:
LoadingScreen.hide_loading_screen()