报错内容:
MissingReferenceException: The object of type 'DockArea' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.
UnityEditor.GUIView.Internal_SetPosition (UnityEngine.Rect windowPosition) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.GUIView.SetPosition (UnityEngine.Rect newPos) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.HostView.SetPosition (UnityEngine.Rect newPos) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.View.set_position (UnityEngine.Rect value) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.PlaceView (System.Int32 i, System.Single pos, System.Single size) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.SetupRectsFromSplitter () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.Reflow () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.SetPosition (UnityEngine.Rect newPos) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.View.set_position (UnityEngine.Rect value) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.PlaceView (System.Int32 i, System.Single pos, System.Single size) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.SetupRectsFromSplitter () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.Reflow () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.SetPosition (UnityEngine.Rect newPos) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.View.set_position (UnityEngine.Rect value) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.PlaceView (System.Int32 i, System.Single pos, System.Single size) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.SetupRectsFromSplitter () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.Reflow () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.SetPosition (UnityEngine.Rect newPos) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.View.set_position (UnityEngine.Rect value) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.PlaceView (System.Int32 i, System.Single pos, System.Single size) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.SetupRectsFromSplitter () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.Reflow () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.Cleanup () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.Cleanup () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.SplitView.Cleanup () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.DockArea.KillIfEmpty () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.DockArea.RemoveTab (UnityEditor.EditorWindow pane, System.Boolean killIfEmpty, System.Boolean sendEvents) (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.EditorWindow.Close () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.InspectorWindow.OnDestroy () (at <a832b23c882249bd827d85de3e4878a5>:0)
UnityEditor.GenericMenu:CatchMenu(Object, String[], Int32)
GUI Error: You are pushing more GUIClips than you are popping. Make sure they are balanced.
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
按照以上报错你可能搜到以下解决方案:
GUI Error: You are pushing more GUIClips than you are popping. Make sure they are balanced (type:7) GUI Error: You are pushing more
GUIClips than you are popping. Make sure they are balanced (type:8)
出现此错误,是由于GUIClips中开始与结束的没一一对应上产生的,比如有一个
GUILayout.BeginHorizontal();而后面又没有 GUILayout.EndHorizontal();与之对应
,就会报以上错误。
但也许你也会和我一样遇到这种错误:
Invalid editor window of type: UnityEditor.PreviewWindow, title: 预览
UnityEditor.GenericMenu:CatchMenu (object,string[],int)
看见最后这个报错了吗?多了个预览窗口,可以尝试禁用或删除该窗口来解决以上所有报错。
当然如果你不知道怎么关掉(我就不知道)可以直接一键重置布局,累了,毁灭吧,一个响指下去就没报错了。