diff --git a/Assets/Huawei/Scripts/Settings/HMSModelingKitSettings.cs b/Assets/Huawei/Scripts/Settings/HMSModelingKitSettings.cs new file mode 100644 index 00000000..934919ef --- /dev/null +++ b/Assets/Huawei/Scripts/Settings/HMSModelingKitSettings.cs @@ -0,0 +1,39 @@ +using System; + +namespace HmsPlugin +{ + public class HMSModelingKitSettings : HMSEditorSingleton + { + private const string SettingsFilename = "HMSModelingKitSettings"; + public const string ModelingKeyAPI = "ModelingKeyAPI"; + + private SettingsScriptableObject loadedSettings; + + private HMSSettings _settings; + public HMSSettings Settings => _settings; + + public HMSModelingKitSettings() + { + loadedSettings = ScriptableHelper.Load(SettingsFilename, "Assets/Huawei/Settings/Resources"); + + if (loadedSettings == null) + { + throw new NullReferenceException("Failed to load the " + SettingsFilename + ". Please restart Unity Editor"); + } + _settings = loadedSettings.settings; + + _settings.OnDictionaryChanged += _settings_OnDictionaryChanged; + } + + private void _settings_OnDictionaryChanged() + { + loadedSettings.Save(); + } + + public void Reset() + { + _settings.Dispose(); + _instance = null; + } + } +}