Unity编辑器工具错误

在写Unity工具时,如果过于依赖GUILayout或者EditorGUILayout,

过多使用BeginHorizontal和BeginVertical等函数

难免逻辑上有时候会出现他们和对应的结束函数没有成对出现,



类似以下错误 是因为有结束函数没有开始函数

即 写了EndVertical()却没有BeginVertical()

需要你在代码里仔细排查,

NullReferenceException: Object reference not set to an instance of an object
UnityEngine.GUILayoutUtility.LayoutFromContainer (Single w, Single h) (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUILayoutUtility.cs:182)
UnityEngine.Experimental.UIElements.UIElementsUtility.EndContainerGUI () (at C:/buildslave/unity/build/Runtime/UIElements/Managed/UIElementsUtility.cs:148)
UnityEngine.Experimental.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt) (at C:/buildslave/unity/build/Runtime/UIElements/Managed/IMGUIContainer.cs:140)
UnityEngine.Experimental.UIElements.IMGUIContainer.HandleEvent (UnityEngine.Event evt, UnityEngine.Experimental.UIElements.VisualElement finalTarget) (at C:/buildslave/unity/build/Runtime/UIElements/Managed/IMGUIContainer.cs:185)
UnityEngine.Experimental.UIElements.IMGUIContainer.DoRepaint (IStylePainter painter) (at C:/buildslave/unity/build/Runtime/UIElements/Managed/IMGUIContainer.cs:38)
UnityEngine.Experimental.UIElements.Panel.PaintSubTree (UnityEngine.Event e, UnityEngine.Experimental.UIElements.VisualElement root, Matrix4x4 offset, Rect currentGlobalClip) (at C:/buildslave/unity/build/Runtime/UIElements/Managed/Panel.cs:425)
UnityEngine.Experimental.UIElements.Panel.PaintSubTree (UnityEngine.Event e, UnityEngine.Experimental.UIElements.VisualElement root, Matrix4x4 offset, Rect currentGlobalClip) (at C:/buildslave/unity/build/Runtime/UIElements/Managed/Panel.cs:435)
UnityEngine.Experimental.UIElements.Panel.Repaint (UnityEngine.Event e) (at C:/buildslave/unity/build/Runtime/UIElements/Managed/Panel.cs:450)
UnityEngine.Experimental.UIElements.UIElementsUtility.DoDispatch (UnityEngine.Experimental.UIElements.BaseVisualElementPanel panel) (at C:/buildslave/unity/build/Runtime/UIElements/Managed/UIElementsUtility.cs:178)
UnityEngine.Experimental.UIElements.UIElementsUtility.ProcessEvent (Int32 instanceID, IntPtr nativeEventPtr) (at C:/buildslave/unity/build/Runtime/UIElements/Managed/UIElementsUtility.cs:71)
UnityEngine.GUIUtility.ProcessEvent (Int32 instanceID, IntPtr nativeEventPtr) (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUIUtility.cs:186)

猜你喜欢

转载自blog.csdn.net/qq_28784217/article/details/78488017