0
Working on Fix

Live editing errors in Alpha 4

TowerCrow 7 months ago updated by Lazlo Bonin (Lead Developer) 6 months ago 6

Apologies for the formatting, I've no idea why it keeps doing that.

GraphPointerException: Missing graph element data for Cooldown#95d4c....
[ #22186 (Destroyed) ]
Ludiq.GraphPointer.GetElementData[T] (Ludiq.IGraphElementWithData element) (at Assets/Ludiq/Ludiq.Graphs/Runtime/GraphPointer.cs:373)
Ludiq.Bolt.Cooldown.StopListening (Ludiq.GraphStack stack) (at Assets/Ludiq/Bolt.Flow/Runtime/Framework/Time/Cooldown.cs:150)
Ludiq.Bolt.XGraphEventListener.StopListening (Ludiq.Bolt.IGraphEventListener listener, Ludiq.GraphReference reference) (at Assets/Ludiq/Bolt.Core/Runtime/Events/IGraphEventListener.cs:26)
Ludiq.Bolt.Unit.Uninstantiate (Ludiq.GraphReference instance) (at Assets/Ludiq/Bolt.Flow/Runtime/Unit.cs:108)
Ludiq.GraphElement`1[TGraph].BeforeRemove () (at Assets/Ludiq/Ludiq.Graphs/Runtime/GraphElement.cs:85)
Ludiq.Bolt.Unit.BeforeRemove () (at Assets/Ludiq/Bolt.Flow/Runtime/Unit.cs:89)
Ludiq.GraphElementCollection`1[TElement].BeforeRemove (TElement element) (at Assets/Ludiq/Ludiq.Graphs/Runtime/GraphElementCollection.cs:52)
Ludiq.GraphElementCollection`1[TElement].RemoveItem (System.Int32 index) (at Assets/Ludiq/Ludiq.Graphs/Runtime/GraphElementCollection.cs:91)
System.Collections.ObjectModel.Collection`1[T].Remove (T item) (at :0)
Ludiq.VariantCollection`2[TBase,TImplementation].Remove (TBase item) (at Assets/Ludiq/Ludiq.Core/Runtime/Collections/VariantCollection.cs:70)
Ludiq.MergedKeyedCollection`2[TKey,TItem].Remove (TItem item) (at Assets/Ludiq/Ludiq.Core/Runtime/Collections/MergedKeyedCollection.cs:171)
Ludiq.Canvas`1[TGraph].DeleteSelection () (at Assets/Ludiq/Ludiq.Graphs/Editor/Canvases/Canvas.cs:1200)
Ludiq.GraphWindow.OnGUI () (at Assets/Ludiq/Ludiq.Graphs/Editor/Windows/GraphWindow.cs:616)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at :0)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at :0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at :0)
UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:342)
UnityEditor.HostView.Invoke (System.String methodName) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:336)
UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition, UnityEngine.Rect viewRect) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:310)
UnityEditor.DockArea.DrawView (UnityEngine.Rect viewRect, UnityEngine.Rect dockAreaRect, System.Boolean customBorder, System.Boolean floatingWindow, System.Boolean isBottomTab) (at C:/buildslave/unity/build/Editor/Mono/GUI/DockArea.cs:361)
UnityEditor.DockArea.OldOnGUI () (at C:/buildslave/unity/build/Editor/Mono/GUI/DockArea.cs:320)
UnityEngine.Experimental.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:266)
UnityEngine.Experimental.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:438)
UnityEngine.Experimental.UIElements.IMGUIContainer.HandleIMGUIEvent () (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:412)
UnityEngine.Experimental.UIElements.ImmediateStylePainter.DrawImmediate (System.Action callback) (at C:/buildslave/unity/build/Modules/UIElements/ImmediateStylePainter.cs:113)
UnityEngine.Experimental.UIElements.IMGUIContainer.DoRepaint (UnityEngine.Experimental.UIElements.IStylePainter painter) (at C:/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:98)
UnityEngine.Experimental.UIElements.VisualElement.Repaint (UnityEngine.Experimental.UIElements.IStylePainter painter) (at C:/buildslave/unity/build/Modules/UIElements/VisualElement.cs:862)
UnityEngine.Experimental.UIElements.VisualTreeRepaintUpdater.PaintSubTree (UnityEngine.Experimental.UIElements.VisualElement root, UnityEngine.Matrix4x4 offset, System.Boolean shouldClip, System.Boolean shouldCache, UnityEngine.Rect currentGlobalClip) (at C:/buildslave/unity/build/Modules/UIElements/VisualTreeRepaintUpdater.cs:310)
UnityEngine.Experimental.UIElements.VisualTreeRepaintUpdater.PaintSubTreeChildren (UnityEngine.Experimental.UIElements.VisualElement root, UnityEngine.Matrix4x4 offset, System.Boolean shouldClip, System.Boolean shouldCache, UnityEngine.Rect textureClip) (at C:/buildslave/unity/build/Modules/UIElements/VisualTreeRepaintUpdater.cs:328)
UnityEngine.Experimental.UIElements.VisualTreeRepaintUpdater.PaintSubTree (UnityEngine.Experimental.UIElements.VisualElement root, UnityEngine.Matrix4x4 offset, System.Boolean shouldClip, System.Boolean shouldCache, UnityEngine.Rect currentGlobalClip) (at C:/buildslave/unity/build/Modules/UIElements/VisualTreeRepaintUpdater.cs:314)
UnityEngine.Experimental.UIElements.VisualTreeRepaintUpdater.Update () (at C:/buildslave/unity/build/Modules/UIElements/VisualTreeRepaintUpdater.cs:35)
UnityEngine.Experimental.UIElements.VisualTreeUpdater.UpdateVisualTree () (at C:/buildslave/unity/build/Modules/UIElements/VisualTreeUpdater.cs:70)
UnityEngine.Experimental.UIElements.Panel.Repaint (UnityEngine.Event e) (at C:/buildslave/unity/build/Modules/UIElements/Panel.cs:507)
UnityEngine.Experimental.UIElements.UIElementsUtility.DoDispatch (UnityEngine.Experimental.UIElements.BaseVisualElementPanel panel) (at C:/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:230)
UnityEngine.Experimental.UIElements.UIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at C:/buildslave/unity/build/Modules/UIElements/UIElementsUtility.cs:68)
UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at C:/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)
Bolt Version:
2.0.0a4
Unity Version:
2018.3.11f1
Platform(s):
Scripting Backend:
.NET Version (API Compatibility Level):
Bolt 2

This started happening when I tried to replace Cooldown with Wait for Seconds unit. It didn't replace it and I couldn't delete it until I restarted Unity.

Pending Review

Hi TowerCrow, thanks for the report. Do you remember whether you were in Play mode when doing the replacement?

Not sure, I think it wasn't in Play mode.

EDIT: It was also the "new Wait for seconds unit".

Fixed in Alpha

Thanks for the report, I've fixed it for Alpha 5 (I think). It turns out that switching to Odin had a core side effect that broke our entire graph instancing system. Live editing must have been all kinds of wonky, strange that only you reported it!

Working on Fix

Scratch that, the rabbit hole goes much deeper than I anticipated. This won't be an easy fix. :/

+2

Oh, I think I just understood the undo bug.