public static void Edit_Project_Settings_Graphics() { if (!UnitySymbol.Has("UNITY_2018_3_OR_NEWER")) { EditorApplication.ExecuteMenuItem("Edit/Project Settings/Graphics"); } }
public static void Edit_Project_Settings_Script_Execution_Order() { if (!UnitySymbol.Has("UNITY_2018_3_OR_NEWER")) { EditorApplication.ExecuteMenuItem("Edit/Project Settings/Script Execution Order"); } }
public static void Edit_Project_Settings_Tags_and_Layers() { if (!UnitySymbol.Has("UNITY_2018_3_OR_NEWER")) { EditorApplication.ExecuteMenuItem("Edit/Project Settings/Tags and Layers"); } }
/// <summary> /// 指定したオブジェクトを新しいインスペクタで開く /// UNITY_2020_1_OR_NEWER以降は専用のエディタウィンドウが出来たのでそちらを使う /// </summary> /// <param name="uobj"></param> public static void ShowNewInspectorWindow(UnityObject uobj) { #if UNITY_2020_1_OR_NEWER UnityEditorPropertyEditor.OpenPropertyEditor(uobj, true); #else s_selectBak = Selection.activeObject; Selection.activeObject = uobj; var window = ScriptableObject.CreateInstance(UnityTypes.UnityEditor_InspectorWindow) as EditorWindow; window.titleContent = new GUIContent(uobj.name, EditorIcon.unityeditor_inspectorwindow); window.Show(true); window.Repaint(); if (UnitySymbol.Has("UNITY_2018_3_OR_NEWER")) { window.SetProperty("isLocked", true); } else { window.MethodInvoke("FlipLocked", null); } EditorApplication.delayCall += () => { Selection.activeObject = s_selectBak; }; #endif }
public static string Serialize(System.Object obj, bool pretty = false, string indentText = " ") { if (UnitySymbol.Has("UNITY_2019_1_OR_NEWER")) { return(Json.Serialize(obj, pretty, indentText)); } else { return(Json.Serialize(obj)); } }
public static void RemoveGUI(SceneView.OnSceneFunc func) { if (UnitySymbol.Has("UNITY_2019_1_OR_NEWER")) { if (s_func.ContainsKey(func)) { var t = typeof(SceneView); var ev = t.GetEvent("duringSceneGui"); ev.RemoveEventHandler(null, s_func[func]); s_func.Remove(func); } } else { SceneView.onSceneGUIDelegate -= func; } Repaint(); }
///////////////////////////////////////// public void DisableSelectionStyle() { // 2019.3以降はm_SelectionStyleで独立してるので書き換えれる try { if (UnitySymbol.Has("UNITY_2019_3_OR_NEWER")) { object _obj = this; var tt = typeof(TreeView); var p = tt.GetField("m_TreeView", BindingFlags.Instance | BindingFlags.NonPublic); var _treeView = p.GetValue(_obj); var _gui = _treeView.GetProperty <object>("gui"); _gui.SetProperty("selectionStyle", EditorStyles.label); } } catch (Exception e) { Debug.LogException(e); } }
public static void AddGUI(SceneView.OnSceneFunc func) { if (UnitySymbol.Has("UNITY_2019_1_OR_NEWER")) { if (!s_func.ContainsKey(func)) { var t = typeof(SceneView); var ev = t.GetEvent("duringSceneGui"); Action <SceneView> a = (ss) => { func(ss); }; ev.AddEventHandler(null, a); s_func.Add(func, a); } } else { SceneView.onSceneGUIDelegate += func; } Repaint(); }
/// <summary> /// /// </summary> static bool init() { if (s_projectBrowser == null) { s_projectBrowser = new UnityEditorProjectBrowser(); } if (Helper.IsNull(s_projectBrowser.m_instance)) { s_projectBrowser = null; } if (s_projectBrowser != null) { s_searchFilter = new UnityEditorSearchFilter(s_projectBrowser.m_SearchFilter); s_objectListArea = new UnityEditorObjectListArea(s_projectBrowser.m_ListArea); s_objectListAreaPing = new UnityEditorPingData(s_objectListArea.m_Ping); if (s_projectBrowser.m_AssetTree != null) { var cont = new UnityEditorIMGUIControlsTreeViewController(s_projectBrowser.m_AssetTree); var gui = new UnityEditorAssetsTreeViewGUI(cont.gui); s_AssetTreePing = new UnityEditorPingData(gui.m_Ping); } //s_AssetTreePing = new UnityEditorPingData( s_projectBrowser.m_AssetTree ); } if (UnitySymbol.Has("UNITY_2018_1_OR_NEWER")) { if (s_ProjectBrowser_isLocked == null) { s_ProjectBrowser_isLocked = UnityTypes.UnityEditor_ProjectBrowser.GetProperty("isLocked", BindingFlags.NonPublic | BindingFlags.Instance); } } else { if (s_ProjectBrowser_m_IsLocked == null) { s_ProjectBrowser_m_IsLocked = UnityTypes.UnityEditor_ProjectBrowser.GetField("m_IsLocked", BindingFlags.NonPublic | BindingFlags.Instance); } } return(s_projectBrowser != null ? true : false); }