private void OnEnable() { if (_openWindow == null) _openWindow = this; else Object.DestroyImmediate(this); this.titleContent = new GUIContent("Base Settings"); _gameSettings = AssetDatabase.LoadAssetAtPath(GameSettingsBase.PATH_DEFAULTSETTINGS_FULL, typeof(GameSettingsBase)) as GameSettingsBase; _timeLayersData = AssetDatabase.LoadAssetAtPath(CustomTimeLayersData.PATH_DEFAULTSETTINGS_FULL, typeof(CustomTimeLayersData)) as CustomTimeLayersData; }
private void OnEnable() { if (_openWindow == null) { _openWindow = this; } else { Object.DestroyImmediate(this); } this.titleContent = new GUIContent("Base Settings"); _gameSettings = AssetDatabase.LoadAssetAtPath(GameSettingsBase.PATH_DEFAULTSETTINGS_FULL, typeof(GameSettingsBase)) as GameSettingsBase; _timeLayersData = AssetDatabase.LoadAssetAtPath(CustomTimeLayersData.PATH_DEFAULTSETTINGS_FULL, typeof(CustomTimeLayersData)) as CustomTimeLayersData; }
private void OnGUI() { Rect rect; //var labelWidthCache = EditorGUIUtility.labelWidth; //EditorGUIUtility.labelWidth = Mathf.Min(this.position.width - 20f, 300f); EditorGUI.BeginChangeCheck(); bool useSPEditor = EditorGUILayout.ToggleLeft("Use SPEditor as default editor for MonoBehaviour", EditorProjectPrefs.Local.GetBool(BaseSettings.SETTING_SPEDITOR_ISDEFAULT_ACTIVE, true)); if (EditorGUI.EndChangeCheck()) { EditorProjectPrefs.Local.SetBool(BaseSettings.SETTING_SPEDITOR_ISDEFAULT_ACTIVE, useSPEditor); } EditorGUI.BeginChangeCheck(); bool useAdvancedAnimInspector = EditorGUILayout.ToggleLeft("Use Advanced Animation Inspector", EditorProjectPrefs.Local.GetBool(BaseSettings.SETTING_ADVANCEDANIMINSPECTOR_ACTIVE, true)); if (EditorGUI.EndChangeCheck()) { EditorProjectPrefs.Local.SetBool(BaseSettings.SETTING_ADVANCEDANIMINSPECTOR_ACTIVE, useAdvancedAnimInspector); } EditorGUI.BeginChangeCheck(); bool hierarchyDrawerActive = EditorGUILayout.ToggleLeft("Use Hierarchy Drawers", EditorProjectPrefs.Local.GetBool(BaseSettings.SETTING_HIERARCHYDRAWER_ACTIVE, true)); if (EditorGUI.EndChangeCheck()) { EditorProjectPrefs.Local.SetBool(BaseSettings.SETTING_HIERARCHYDRAWER_ACTIVE, hierarchyDrawerActive); EditorHierarchyDrawerEvents.SetActive(hierarchyDrawerActive); } EditorGUI.BeginChangeCheck(); bool hierarchCustomContextMenu = EditorGUILayout.ToggleLeft("Use Alternate Hierarchy Context Menu", EditorProjectPrefs.Local.GetBool(BaseSettings.SETTING_HIEARCHYALTERNATECONTEXTMENU_ACTIVE, true)); if (EditorGUI.EndChangeCheck()) { EditorProjectPrefs.Local.SetBool(BaseSettings.SETTING_HIEARCHYALTERNATECONTEXTMENU_ACTIVE, hierarchCustomContextMenu); EditorHierarchyAlternateContextMenuEvents.SetActive(hierarchCustomContextMenu); } if (_gameSettings == null) { rect = EditorGUILayout.GetControlRect(); rect.width = Mathf.Min(rect.width, BTN_WIDTH); if (GUI.Button(rect, "Create Default GameSettings Data Resource")) { var tps = (from t in TypeUtil.GetTypesAssignableFrom(typeof(GameSettingsBase)) where !t.IsAbstract && !t.IsInterface select t).ToArray(); var menu = new GenericMenu(); foreach (var tp in tps) { menu.AddItem(EditorHelper.TempContent(tp.Name), false, () => { _gameSettings = ScriptableObjectHelper.CreateAsset(tp, GameSettingsBase.PATH_DEFAULTSETTINGS_FULL) as GameSettingsBase; }); } menu.ShowAsContext(); } } else { EditorGUILayout.ObjectField("Game Settings", _gameSettings, typeof(GameSettingsBase), false); } if (_timeLayersData == null) { rect = EditorGUILayout.GetControlRect(); rect.width = Mathf.Min(rect.width, BTN_WIDTH); if (GUI.Button(rect, "Create Custom Time Layers Data Resource")) { _timeLayersData = ScriptableObjectHelper.CreateAsset <CustomTimeLayersData>(CustomTimeLayersData.PATH_DEFAULTSETTINGS_FULL); } } else { EditorGUILayout.ObjectField("Custom Time Layers Data", _timeLayersData, typeof(CustomTimeLayersData), false); } EditorGUILayout.Space(); EditorGUILayout.Space(); this.DrawScenes(); //EditorGUIUtility.labelWidth = labelWidthCache; }
private void OnGUI() { Rect rect; var boxStyle = new GUIStyle(GUI.skin.box); boxStyle.stretchHeight = false; EditorGUILayout.Space(); EditorGUI.BeginChangeCheck(); bool storeLocal = EditorGUILayout.ToggleLeft("Store Settings Local", SpacepuppySettings.StoreSettingsLocal); if (EditorGUI.EndChangeCheck()) { SpacepuppySettings.StoreSettingsLocal = storeLocal; } /* * Editor Use */ EditorGUILayout.Space(); GUILayout.BeginVertical("Editor Settings", boxStyle); EditorGUILayout.Space(); EditorGUI.BeginChangeCheck(); bool useSPEditor = EditorGUILayout.ToggleLeft("Use SPEditor as default editor for MonoBehaviour", SpacepuppySettings.UseSPEditorAsDefaultEditor); if (EditorGUI.EndChangeCheck()) { SpacepuppySettings.UseSPEditorAsDefaultEditor = useSPEditor; } EditorGUI.BeginChangeCheck(); bool useAdvancedAnimInspector = EditorGUILayout.ToggleLeft("Use Advanced Animation Inspector", SpacepuppySettings.UseAdvancedAnimationInspector); if (EditorGUI.EndChangeCheck()) { SpacepuppySettings.UseAdvancedAnimationInspector = useAdvancedAnimInspector; } EditorGUI.BeginChangeCheck(); bool hierarchyDrawerActive = EditorGUILayout.ToggleLeft("Use Hierarchy Drawers", SpacepuppySettings.UseHierarchDrawer); if (EditorGUI.EndChangeCheck()) { SpacepuppySettings.UseHierarchDrawer = hierarchyDrawerActive; EditorHierarchyDrawerEvents.SetActive(hierarchyDrawerActive); } EditorGUI.BeginChangeCheck(); bool hierarchCustomContextMenu = EditorGUILayout.ToggleLeft("Use Alternate Hierarchy Context Menu", SpacepuppySettings.UseHierarchyAlternateContextMenu); if (EditorGUI.EndChangeCheck()) { SpacepuppySettings.UseHierarchyAlternateContextMenu = hierarchCustomContextMenu; EditorHierarchyAlternateContextMenuEvents.SetActive(hierarchCustomContextMenu); } EditorGUI.BeginChangeCheck(); bool signalValidateReceiver = EditorGUILayout.ToggleLeft("Signal IValidateReceiver OnValidate Event", SpacepuppySettings.SignalValidateReceiver); if (EditorGUI.EndChangeCheck()) { SpacepuppySettings.SignalValidateReceiver = signalValidateReceiver; } GUILayout.EndVertical(); /* * Material Search Settings */ GUILayout.BeginVertical("Material Settings", boxStyle); EditorGUILayout.Space(); EditorGUI.BeginChangeCheck(); bool setMaterialSearch = EditorGUILayout.ToggleLeft("Configure Material Settings On Import", SpacepuppySettings.SetMaterialSearchOnImport); if (EditorGUI.EndChangeCheck()) { SpacepuppySettings.SetMaterialSearchOnImport = setMaterialSearch; } EditorGUI.BeginChangeCheck(); var materialSearch = (ModelImporterMaterialSearch)EditorGUILayout.EnumPopup("Material Search", SpacepuppySettings.MaterialSearch); if (EditorGUI.EndChangeCheck()) { SpacepuppySettings.MaterialSearch = materialSearch; } GUILayout.EndVertical(); /* * Animation Settings */ GUILayout.BeginVertical("Animation Settings", boxStyle); EditorGUILayout.Space(); EditorGUI.BeginChangeCheck(); bool setAnimSettings = EditorGUILayout.ToggleLeft("Configure Animation Settings On Import", SpacepuppySettings.SetAnimationSettingsOnImport); if (EditorGUI.EndChangeCheck()) { SpacepuppySettings.SetAnimationSettingsOnImport = setAnimSettings; } EditorGUI.BeginChangeCheck(); var animRigType = (ModelImporterAnimationType)EditorGUILayout.EnumPopup("Aimation Rig Type", SpacepuppySettings.ImportAnimRigType); if (EditorGUI.EndChangeCheck()) { SpacepuppySettings.ImportAnimRigType = animRigType; } GUILayout.EndVertical(); /* * Game Settings */ GUILayout.BeginVertical("Game Settings", boxStyle); EditorGUILayout.Space(); EditorGUILayout.Space(); if (_gameSettings == null) { rect = EditorGUILayout.GetControlRect(); rect.width = Mathf.Min(rect.width, BTN_WIDTH); if (GUI.Button(rect, "Create Default GameSettings Data Resource")) { var tps = (from t in TypeUtil.GetTypesAssignableFrom(typeof(GameSettings)) where !t.IsAbstract && !t.IsInterface select t).ToArray(); var menu = new GenericMenu(); foreach (var tp in tps) { menu.AddItem(EditorHelper.TempContent(tp.Name), false, () => { _gameSettings = ScriptableObjectHelper.CreateAsset(tp, GameSettings.PATH_DEFAULTSETTINGS_FULL) as GameSettings; }); } menu.ShowAsContext(); } } else { EditorGUILayout.ObjectField("Game Settings", _gameSettings, typeof(GameSettings), false); } EditorGUILayout.Space(); if (_timeLayersData == null) { rect = EditorGUILayout.GetControlRect(); rect.width = Mathf.Min(rect.width, BTN_WIDTH); if (GUI.Button(rect, "Create Custom Time Layers Data Resource")) { _timeLayersData = ScriptableObjectHelper.CreateAsset <CustomTimeLayersData>(CustomTimeLayersData.PATH_DEFAULTSETTINGS_FULL); } } else { EditorGUILayout.ObjectField("Custom Time Layers Data", _timeLayersData, typeof(CustomTimeLayersData), false); } GUILayout.EndVertical(); EditorGUILayout.Space(); EditorGUILayout.Space(); this.DrawScenes(); }
private void OnGUI() { Rect rect; //var labelWidthCache = EditorGUIUtility.labelWidth; //EditorGUIUtility.labelWidth = Mathf.Min(this.position.width - 20f, 300f); EditorGUI.BeginChangeCheck(); bool useSPEditor = EditorGUILayout.ToggleLeft("Use SPEditor as default editor for MonoBehaviour", EditorProjectPrefs.Local.GetBool(BaseSettings.SETTING_SPEDITOR_ISDEFAULT_ACTIVE, true)); if (EditorGUI.EndChangeCheck()) EditorProjectPrefs.Local.SetBool(BaseSettings.SETTING_SPEDITOR_ISDEFAULT_ACTIVE, useSPEditor); EditorGUI.BeginChangeCheck(); bool useAdvancedAnimInspector = EditorGUILayout.ToggleLeft("Use Advanced Animation Inspector", EditorProjectPrefs.Local.GetBool(BaseSettings.SETTING_ADVANCEDANIMINSPECTOR_ACTIVE, true)); if (EditorGUI.EndChangeCheck()) EditorProjectPrefs.Local.SetBool(BaseSettings.SETTING_ADVANCEDANIMINSPECTOR_ACTIVE, useAdvancedAnimInspector); EditorGUI.BeginChangeCheck(); bool hierarchyDrawerActive = EditorGUILayout.ToggleLeft("Use Hierarchy Drawers", EditorProjectPrefs.Local.GetBool(BaseSettings.SETTING_HIERARCHYDRAWER_ACTIVE, true)); if (EditorGUI.EndChangeCheck()) { EditorProjectPrefs.Local.SetBool(BaseSettings.SETTING_HIERARCHYDRAWER_ACTIVE, hierarchyDrawerActive); EditorHierarchyDrawerEvents.SetActive(hierarchyDrawerActive); } EditorGUI.BeginChangeCheck(); bool hierarchCustomContextMenu = EditorGUILayout.ToggleLeft("Use Alternate Hierarchy Context Menu", EditorProjectPrefs.Local.GetBool(BaseSettings.SETTING_HIEARCHYALTERNATECONTEXTMENU_ACTIVE, true)); if(EditorGUI.EndChangeCheck()) { EditorProjectPrefs.Local.SetBool(BaseSettings.SETTING_HIEARCHYALTERNATECONTEXTMENU_ACTIVE, hierarchCustomContextMenu); EditorHierarchyAlternateContextMenuEvents.SetActive(hierarchCustomContextMenu); } if (_gameSettings == null) { rect = EditorGUILayout.GetControlRect(); rect.width = Mathf.Min(rect.width, BTN_WIDTH); if (GUI.Button(rect, "Create Default GameSettings Data Resource")) { var tps = (from t in TypeUtil.GetTypesAssignableFrom(typeof(GameSettingsBase)) where !t.IsAbstract && !t.IsInterface select t).ToArray(); var menu = new GenericMenu(); foreach(var tp in tps) { menu.AddItem(EditorHelper.TempContent(tp.Name), false, () => { _gameSettings = ScriptableObjectHelper.CreateAsset(tp, GameSettingsBase.PATH_DEFAULTSETTINGS_FULL) as GameSettingsBase; }); } menu.ShowAsContext(); } } else { EditorGUILayout.ObjectField("Game Settings", _gameSettings, typeof(GameSettingsBase), false); } if (_timeLayersData == null) { rect = EditorGUILayout.GetControlRect(); rect.width = Mathf.Min(rect.width, BTN_WIDTH); if(GUI.Button(rect, "Create Custom Time Layers Data Resource")) { _timeLayersData = ScriptableObjectHelper.CreateAsset<CustomTimeLayersData>(CustomTimeLayersData.PATH_DEFAULTSETTINGS_FULL); } } else { EditorGUILayout.ObjectField("Custom Time Layers Data", _timeLayersData, typeof(CustomTimeLayersData), false); } EditorGUILayout.Space(); EditorGUILayout.Space(); this.DrawDebugBuildScenes(); //EditorGUIUtility.labelWidth = labelWidthCache; }