diff --git a/addons/escoria-ui-return-monkey-island-dialog-simple/plugin.gd b/addons/escoria-ui-return-monkey-island-dialog-simple/plugin.gd index 75d945ed..a6dc7281 100644 --- a/addons/escoria-ui-return-monkey-island-dialog-simple/plugin.gd +++ b/addons/escoria-ui-return-monkey-island-dialog-simple/plugin.gd @@ -65,7 +65,7 @@ func _disable_plugin(): # Add ourselves to the list of dialog managers func _enable_plugin(): - print("Enabling plugin Escoria Dialog Simple") + print("Enabling plugin RTMI Dialog Simple") if EscoriaPlugin.register_dialog_manager(self, MANAGER_CLASS): ESCProjectSettingsManager.register_setting( @@ -117,6 +117,14 @@ func _enable_plugin(): } ) + ESCProjectSettingsManager.register_setting( + RTMISimpleDialogSettings.CLEAR_TEXT_BY_CLICK_ONLY, + RTMISimpleDialogSettings.CLEAR_TEXT_BY_CLICK_ONLY_DEFAULT_VALUE, + { + "type": TYPE_INT + } + ) + var left_click_actions_string: String = ",".join(left_click_actions) ESCProjectSettingsManager.register_setting( diff --git a/addons/escoria-ui-return-monkey-island-dialog-simple/rtmi_dialog_simple_settings.gd b/addons/escoria-ui-return-monkey-island-dialog-simple/rtmi_dialog_simple_settings.gd index 14a63556..f064b9d2 100644 --- a/addons/escoria-ui-return-monkey-island-dialog-simple/rtmi_dialog_simple_settings.gd +++ b/addons/escoria-ui-return-monkey-island-dialog-simple/rtmi_dialog_simple_settings.gd @@ -10,7 +10,9 @@ const TEXT_TIME_PER_LETTER_MS_FAST = "%s/text_time_per_fast_letter_ms" % SETTING const TEXT_TIME_PER_LETTER_MS_FAST_DEFAULT_VALUE = 25 const READING_SPEED_IN_WPM = "%s/reading_speed_in_wpm" % SETTINGS_ROOT const READING_SPEED_IN_WPM_DEFAULT_VALUE = 200 +const CLEAR_TEXT_BY_CLICK_ONLY_KEY = "clear_text_by_click_only" const CLEAR_TEXT_BY_CLICK_ONLY = "%s/clear_text_by_click_only" % SETTINGS_ROOT +const CLEAR_TEXT_BY_CLICK_ONLY_DEFAULT_VALUE = false const LEFT_CLICK_ACTION = "%s/left_click_action" % SETTINGS_ROOT const STOP_TALKING_ANIMATION_ON = "%s/stop_talking_animation_on" % SETTINGS_ROOT diff --git a/addons/escoria-ui-return-monkey-island-dialog-simple/types/floating.gd b/addons/escoria-ui-return-monkey-island-dialog-simple/types/floating.gd index e222cdec..cecba6f5 100644 --- a/addons/escoria-ui-return-monkey-island-dialog-simple/types/floating.gd +++ b/addons/escoria-ui-return-monkey-island-dialog-simple/types/floating.gd @@ -232,7 +232,9 @@ func _on_dialog_finished(): $Timer.stop() # Only trigger to clear the text if we aren't limiting the clearing trigger to a click. - if not ESCProjectSettingsManager.get_setting(RTMISimpleDialogSettings.CLEAR_TEXT_BY_CLICK_ONLY): + var custom_setings = escoria.settings_manager.get_settings()["custom_settings"] + var click_to_continue = custom_setings[RTMISimpleDialogSettings.CLEAR_TEXT_BY_CLICK_ONLY_KEY] if custom_setings.has(RTMISimpleDialogSettings.CLEAR_TEXT_BY_CLICK_ONLY_KEY) else false + if not click_to_continue: say_finished.emit() diff --git a/addons/escoria-ui-return-monkey-island/game.gd b/addons/escoria-ui-return-monkey-island/game.gd index da126083..cfc7a85b 100644 --- a/addons/escoria-ui-return-monkey-island/game.gd +++ b/addons/escoria-ui-return-monkey-island/game.gd @@ -102,7 +102,6 @@ func _ready(): # Show inventory when video player finishes playing a video (inventory is hidden when a video starts) get_video_player().connect("finished", Callable(self, "show_ui")) - func _enter_tree(): @@ -153,7 +152,10 @@ func toggle_room_selector_visibility(): func _input(event: InputEvent) -> void: - super(event) + if escoria.inputs_manager.input_mode == escoria.inputs_manager.INPUT_NONE: + return + if event.is_action_pressed("ui_cancel") && escoria.current_state == escoria.GAME_STATE.DEFAULT: + request_pause_menu.emit() if escoria.get_escoria().is_ready_for_inputs(): if event.is_action_pressed("ui_show_room_selector"): toggle_room_selector_visibility() @@ -433,20 +435,23 @@ func pause_game(): escoria.set_game_paused(true) play_pause_music() -func apply_custom_settings(custom_settings: Dictionary): - if custom_settings.has("speech_speed"): - escoria.logger.info( - self, - "custom setting value loaded: %s." - % str(custom_settings["speech_speed"]) - ) - func get_custom_data() -> Dictionary: return { "ui_type": "rtmi-ui" } +func apply_custom_settings(custom_settings: Dictionary): + if custom_settings.has(RTMISimpleDialogSettings.CLEAR_TEXT_BY_CLICK_ONLY_KEY): + escoria.logger.info( + self, + "custom setting value loaded: %s." + % str(custom_settings[RTMISimpleDialogSettings.CLEAR_TEXT_BY_CLICK_ONLY_KEY]) + ) + escoria.settings_manager.set(RTMISimpleDialogSettings.CLEAR_TEXT_BY_CLICK_ONLY, custom_settings["clear_text_by_click_only"] ) + #ESCProjectSettingsManager.set_setting(RTMISimpleDialogSettings.CLEAR_TEXT_BY_CLICK_ONLY,custom_settings[RTMISimpleDialogSettings.CLEAR_TEXT_BY_CLICK_ONLY_KEY]) + + # Update the tooltip position func update_tooltip_following_mouse_position(tooltip: RTMIRichTooltip): diff --git a/addons/escoria-ui-return-monkey-island/menus/options/options.gd b/addons/escoria-ui-return-monkey-island/menus/options/options.gd index 5e1d8dfa..39f509ab 100644 --- a/addons/escoria-ui-return-monkey-island/menus/options/options.gd +++ b/addons/escoria-ui-return-monkey-island/menus/options/options.gd @@ -40,7 +40,9 @@ func initialize_options(p_settings): _options.get_node("speech_volume").value = p_settings["speech_volume"] _options.get_node("fullscreen").set_pressed_no_signal(p_settings["fullscreen"]) - #_options.get_node("click_to_continue").set_pressed_no_signal(p_settings["click_to_continue"]) + + var click_to_continue = p_settings["custom_settings"].get(RTMISimpleDialogSettings.CLEAR_TEXT_BY_CLICK_ONLY_KEY) if p_settings["custom_settings"].has(RTMISimpleDialogSettings.CLEAR_TEXT_BY_CLICK_ONLY_KEY) else false + _options.get_node("click_to_continue").set_pressed_no_signal(click_to_continue) # The language was changed @@ -140,8 +142,8 @@ func _on_fullscreen_toggled(toggle_pressed: bool) -> void: # Save the settings func _on_apply_pressed(): - escoria.settings_manager.custom_settings[SPEECH_SPEED_SETTING] = ESCProjectSettingsManager.get_setting( - RTMISimpleDialogSettings.READING_SPEED_IN_WPM + escoria.settings_manager.custom_settings[RTMISimpleDialogSettings.CLEAR_TEXT_BY_CLICK_ONLY_KEY] = ESCProjectSettingsManager.get_setting( + RTMISimpleDialogSettings.CLEAR_TEXT_BY_CLICK_ONLY ) escoria.settings_manager.save_settings() changed = false diff --git a/gymkhana/translations/main_menu.csv b/gymkhana/translations/main_menu.csv index 8cdb8b02..7e4bfde6 100644 --- a/gymkhana/translations/main_menu.csv +++ b/gymkhana/translations/main_menu.csv @@ -20,3 +20,4 @@ APPLY,Apply,Appliquer,Anwenden,Aplicar CONFIRM_OVERWRITE,Overwrite the savegame?,Écraser la sauvegarde ?,Soll das Spiel überschrieben werden?, ¿Sobreescribir la partida? YES,Yes,Oui,Ja,Sí NO,No,Non,Nein,No +CLICK_TO_CONTINUE,Click to continue dialog,,,Click para avanzar dialogos \ No newline at end of file