示例#1
0
        static DashEditorCore()
        {
            SetExecutionOrder(typeof(DashVariablesController), -501);
            SetExecutionOrder(typeof(DashController), -500);

            EditorConfig  = DashEditorConfig.Create();
            RuntimeConfig = DashRuntimeConfig.Create();

            Previewer = new DashEditorPreviewer();

            CheckDashVersion();

            EditorApplication.playModeStateChanged    += OnPlayModeChanged;
            AssemblyReloadEvents.afterAssemblyReload  += OnAfterAssemblyReload;
            AssemblyReloadEvents.beforeAssemblyReload += OnBeforeAssemblyReload;

            SceneView.duringSceneGui -= OnSceneGUI;
            SceneView.duringSceneGui += OnSceneGUI;
        }
示例#2
0
        public static DashEditorConfig Create()
        {
            DashEditorConfig config = (DashEditorConfig)AssetDatabase.LoadAssetAtPath("Assets/Resources/Editor/DashEditorConfig.asset",
                                                                                      typeof(DashEditorConfig));

            if (config == null)
            {
                config = ScriptableObject.CreateInstance <DashEditorConfig>();
                if (config != null)
                {
                    if (!AssetDatabase.IsValidFolder("Assets/Resources"))
                    {
                        AssetDatabase.CreateFolder("Assets", "Resources");
                        AssetDatabase.CreateFolder("Assets/Resources", "Editor");
                    }
                    else if (!AssetDatabase.IsValidFolder("Assets/Resources/Editor"))
                    {
                        AssetDatabase.CreateFolder("Assets/Resources", "Editor");
                    }
                    AssetDatabase.CreateAsset(config, "Assets/Resources/Editor/DashEditorConfig.asset");
                    AssetDatabase.SaveAssets();
                    AssetDatabase.Refresh();
                }
            }

            if (config.theme == null)
            {
                Theme theme = ScriptableObject.CreateInstance <Theme>();
                config.theme = theme;
                EditorUtility.SetDirty(config);

                AssetDatabase.CreateAsset(theme, "Assets/Resources/Editor/DashTheme.asset");
                AssetDatabase.SaveAssets();
                AssetDatabase.Refresh();
            }

            return(config);
        }