Error undoing the deletion of edges
Cyclone1337 opened this issue · 0 comments
Cyclone1337 commented
NullPointerExcpetions occur for each edge to be restored when restoring edges.
If the node is moved afterward, it becomes transparent.
NullReferenceException: Object reference not set to an instance of an object
SEE.Game.Operator.GraphElementOperator`1[C].FadeTo (System.Single alpha, System.Single factor) (at Assets/SEE/Game/Operator/GraphElementOperator.cs:253)
SEE.Game.Operator.EdgeOperator.ShowOrHide (System.Boolean show, SEE.Game.City.EdgeAnimationKind animationKind, System.Single factor) (at Assets/SEE/Game/Operator/EdgeOperator.cs:140)
SEE.Game.City.ReflexionVisualization.HandleEdgeChangeAsync (SEE.DataModel.EdgeChange edgeChange) (at Assets/SEE/Game/City/ReflexionVisualization.cs:308)
UnityEngine.Debug:LogException(Exception)
Cysharp.Threading.Tasks.UniTaskScheduler:PublishUnobservedTaskException(Exception) (at ./Library/PackageCache/com.cysharp.unitask@72e620d169/Runtime/UniTaskScheduler.cs:90)
SEE.Game.City.<HandleEdgeChangeAsync>d__18:MoveNext() (at Assets/SEE/Game/City/ReflexionVisualization.cs:321)
Cysharp.Threading.Tasks.CompilerServices.AsyncUniTaskVoidMethodBuilder:Start(<HandleEdgeChangeAsync>d__18&) (at ./Library/PackageCache/com.cysharp.unitask@72e620d169/Runtime/CompilerServices/AsyncUniTaskVoidMethodBuilder.cs:110)
SEE.Game.City.ReflexionVisualization:HandleEdgeChangeAsync(EdgeChange)
SEE.Game.City.ReflexionVisualization:OnNext(ChangeEvent) (at Assets/SEE/Game/City/ReflexionVisualization.cs:229)
SEE.DataModel.Observable`1:Notify(ChangeEvent) (at Assets/SEE/DataModel/Observable.cs:89)
SEE.Tools.ReflexionAnalysis.ReflexionGraph:Transition(Edge, State) (at Assets/SEE/Tools/ReflexionAnalysis/ReflexionAnalysis.cs:199)
SEE.Tools.ReflexionAnalysis.ReflexionGraph:AddToArchitecture(Edge) (at Assets/SEE/Tools/ReflexionAnalysis/Incremental.cs:223)
SEE.Tools.ReflexionAnalysis.ReflexionGraph:AddEdge(Edge) (at Assets/SEE/Tools/ReflexionAnalysis/ReflexionGraph.cs:324)
SEE.Game.SceneManipulation.GameElementDeleter:RestoreGraph(IEnumerable`1) (at Assets/SEE/Game/SceneManipulation/GameElementDeleter.cs:296)
SEE.Game.SceneManipulation.GameElementDeleter:Revive(ISet`1) (at Assets/SEE/Game/SceneManipulation/GameElementDeleter.cs:216)
SEE.Controls.Actions.DeleteAction:Undo() (at Assets/SEE/Controls/Actions/DeleteAction.cs:223)
SEE.Utils.History.ActionHistory:Undo() (at Assets/SEE/Utils/History/ActionHistory.cs:417)
SEE.Controls.Actions.GlobalActionHistory:Undo() (at Assets/SEE/Controls/Actions/GlobalActionHistory.cs:34)
SEE.GO.Menu.PlayerMenu:Update() (at Assets/SEE/GameObjects/Menu/PlayerMenu.cs:194)
Steps to reproduce:
- Delete a node with edges.
- Restore the node and its edges using undo.
- Move the node.
- When finishing the move, the node becomes transparent.
The following video illustrates this error.