fix: Removing dialog settings from core

This commit is contained in:
Balloonpopper
2022-11-23 11:30:32 +11:00
parent 62f48621a4
commit 028de087fd
8 changed files with 82 additions and 62 deletions

View File

@@ -3,7 +3,14 @@ tool
extends EditorPlugin
const MANAGER_CLASS="res://addons/escoria-dialog-simple/esc_dialog_simple.gd"
const SETTINGS_ROOT="escoria/dialog_simple"
const AVATARS_PATH = "%s/avatars_path" % SETTINGS_ROOT
const TEXT_SPEED_PER_CHARACTER = "%s/text_speed_per_character" % SETTINGS_ROOT
const FAST_TEXT_SPEED_PER_CHARACTER = "%s/fast_text_speed_per_character" % SETTINGS_ROOT
const MAX_TIME_TO_DISAPPEAR = "%s/max_time_to_disappear" % SETTINGS_ROOT
const SKIP_DIALOGS = "%s/skip_dialogs" % SETTINGS_ROOT
const READING_SPEED_IN_WPM = "%s/reading_speed_in_wpm" % SETTINGS_ROOT
# Override function to return the plugin name.
func get_plugin_name():
@@ -13,41 +20,37 @@ func get_plugin_name():
# Unregister ourselves
func disable_plugin():
print("Disabling plugin Escoria Dialog Simple")
ESCProjectSettingsManager.register_setting(
ESCProjectSettingsManager.DEFAULT_DIALOG_TYPE,
"",
{}
ESCProjectSettingsManager.remove_setting(
ESCProjectSettingsManager.DEFAULT_DIALOG_TYPE
)
ESCProjectSettingsManager.register_setting(
ESCProjectSettingsManager.AVATARS_PATH,
null,
{}
ESCProjectSettingsManager.remove_setting(
AVATARS_PATH
)
ESCProjectSettingsManager.register_setting(
ESCProjectSettingsManager.TEXT_SPEED_PER_CHARACTER,
null,
{}
ESCProjectSettingsManager.remove_setting(
TEXT_SPEED_PER_CHARACTER
)
ESCProjectSettingsManager.register_setting(
ESCProjectSettingsManager.FAST_TEXT_SPEED_PER_CHARACTER,
null,
{}
ESCProjectSettingsManager.remove_setting(
FAST_TEXT_SPEED_PER_CHARACTER
)
ESCProjectSettingsManager.register_setting(
ESCProjectSettingsManager.READING_SPEED_IN_WPM,
null,
{}
ESCProjectSettingsManager.remove_setting(
READING_SPEED_IN_WPM
)
ESCProjectSettingsManager.remove_setting(
MAX_TIME_TO_DISAPPEAR
)
EscoriaPlugin.deregister_dialog_manager(MANAGER_CLASS)
# Add ourselves to the list of dialog managers
func enable_plugin():
print("Enabling plugin Escoria Dialog Simple")
if EscoriaPlugin.register_dialog_manager(self, MANAGER_CLASS):
ESCProjectSettingsManager.register_setting(
ESCProjectSettingsManager.DEFAULT_DIALOG_TYPE,
@@ -58,8 +61,8 @@ func enable_plugin():
)
ESCProjectSettingsManager.register_setting(
ESCProjectSettingsManager.AVATARS_PATH,
"",
AVATARS_PATH,
"res://game/dialog_avatars",
{
"type": TYPE_STRING,
"hint": PROPERTY_HINT_DIR
@@ -67,7 +70,7 @@ func enable_plugin():
)
ESCProjectSettingsManager.register_setting(
ESCProjectSettingsManager.TEXT_SPEED_PER_CHARACTER,
TEXT_SPEED_PER_CHARACTER,
0.1,
{
"type": TYPE_REAL
@@ -75,7 +78,7 @@ func enable_plugin():
)
ESCProjectSettingsManager.register_setting(
ESCProjectSettingsManager.FAST_TEXT_SPEED_PER_CHARACTER,
FAST_TEXT_SPEED_PER_CHARACTER,
0.25,
{
"type": TYPE_REAL
@@ -83,12 +86,29 @@ func enable_plugin():
)
ESCProjectSettingsManager.register_setting(
ESCProjectSettingsManager.READING_SPEED_IN_WPM,
READING_SPEED_IN_WPM,
200,
{
"type": TYPE_INT
}
)
ESCProjectSettingsManager.register_setting(
MAX_TIME_TO_DISAPPEAR,
1.0,
{
"type": TYPE_INT
}
)
ESCProjectSettingsManager.register_setting(
SKIP_DIALOGS,
true,
{
"type": TYPE_BOOL
}
)
#escoria.settings_manager.custom_settings[SKIP_DIALOGS] = true
else:
get_editor_interface().set_plugin_enabled(
get_plugin_name(),