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; }
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); }