@tool extends EditorPlugin var SETTINGS = [ _NetfoxLogger.make_setting("netfox/logging/log_level") ] func _enter_tree(): for setting in SETTINGS: add_setting(setting) func _exit_tree(): if ProjectSettings.get_setting("netfox/general/clear_settings", false): for setting in SETTINGS: remove_setting(setting) func add_setting(setting: Dictionary): if ProjectSettings.has_setting(setting.name): return ProjectSettings.set_setting(setting.name, setting.value) ProjectSettings.set_initial_value(setting.name, setting.value) ProjectSettings.add_property_info({ "name": setting.get("name"), "type": setting.get("type"), "hint": setting.get("hint", PROPERTY_HINT_NONE), "hint_string": setting.get("hint_string", "") }) func remove_setting(setting: Dictionary): if not ProjectSettings.has_setting(setting.name): return ProjectSettings.clear(setting.name)