예제 #1
0
 public static void Edit_Project_Settings_Graphics()
 {
     if (!UnitySymbol.Has("UNITY_2018_3_OR_NEWER"))
     {
         EditorApplication.ExecuteMenuItem("Edit/Project Settings/Graphics");
     }
 }
예제 #2
0
 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");
     }
 }
예제 #3
0
 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");
     }
 }
예제 #4
0
        /// <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
        }
예제 #5
0
 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));
     }
 }
예제 #6
0
 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();
 }
예제 #7
0
 /////////////////////////////////////////
 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);
     }
 }
예제 #8
0
 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();
 }
예제 #9
0
        /// <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);
        }