Ejemplo n.º 1
0
        internal static void    LoadSharedNGSetting(bool skipLoad = false)
        {
            if (skipLoad == false && NGSettings.sharedSettings != null)
            {
                HQ.SetSettings(NGSettings.sharedSettings);
                return;
            }

            NGSettings asset = null;

            if (skipLoad == false)
            {
                asset = NGSettings.LoadSharedSettings();
                if (asset != null)
                {
                    asset.hideFlags = HideFlags.DontSave;
                }
            }

            if (skipLoad == true || asset == null)
            {
                asset           = NGSettings.CreateSharedSettings();
                asset.hideFlags = HideFlags.DontSave;

                Directory.CreateDirectory(Path.GetDirectoryName(NGSettings.GetSharedSettingsPath()));
                HQ.SaveSharedNGSettings(asset);
            }
            else
            {
                NGSettings.sharedSettings = asset;
            }

            HQ.SetSettings(asset);
        }
Ejemplo n.º 2
0
        public static void      CreateNGSettings(string path)
        {
            try
            {
                NGSettings asset = ScriptableObject.CreateInstance <NGSettings>();

                AssetDatabase.CreateAsset(asset, path);
                AssetDatabase.SaveAssets();

                NGEditorPrefs.SetString(Constants.ConfigPathKeyPref, path, true);

                HQ.SetSettings(asset);

                // Need to skip many frames before really writing the data. Don't know why it requires 2 frames.
                EditorApplication.delayCall += () =>
                {
                    EditorApplication.delayCall += () =>
                    {
                        HQ.InvalidateSettings();
                        AssetDatabase.SaveAssets();
                    };
                };
            }
            catch (Exception ex)
            {
                InternalNGDebug.LogException(ex);
                HQ.SetSettings(null);
            }
        }