Fix Anim Graph state machine rule graph opening after transition removal undo
This commit is contained in:
@@ -543,6 +543,7 @@ namespace FlaxEditor.Surface.Archetypes
|
|||||||
private readonly uint _srcStateId;
|
private readonly uint _srcStateId;
|
||||||
private readonly uint _dstStateId;
|
private readonly uint _dstStateId;
|
||||||
private StateMachineTransition.Data _data;
|
private StateMachineTransition.Data _data;
|
||||||
|
private byte[] _ruleGraph;
|
||||||
|
|
||||||
public AddRemoveTransitionAction(StateMachineTransition transition)
|
public AddRemoveTransitionAction(StateMachineTransition transition)
|
||||||
{
|
{
|
||||||
@@ -552,6 +553,7 @@ namespace FlaxEditor.Surface.Archetypes
|
|||||||
_dstStateId = transition.DestinationState.ID;
|
_dstStateId = transition.DestinationState.ID;
|
||||||
_isAdd = false;
|
_isAdd = false;
|
||||||
transition.GetData(out _data);
|
transition.GetData(out _data);
|
||||||
|
_ruleGraph = (byte[])transition.RuleGraph.Clone();
|
||||||
}
|
}
|
||||||
|
|
||||||
public AddRemoveTransitionAction(SurfaceNode src, SurfaceNode dst)
|
public AddRemoveTransitionAction(SurfaceNode src, SurfaceNode dst)
|
||||||
@@ -603,7 +605,7 @@ namespace FlaxEditor.Surface.Archetypes
|
|||||||
if (dst == null)
|
if (dst == null)
|
||||||
throw new Exception("Missing destination state.");
|
throw new Exception("Missing destination state.");
|
||||||
|
|
||||||
var transition = new StateMachineTransition(src, dst, ref _data);
|
var transition = new StateMachineTransition(src, dst, ref _data, _ruleGraph);
|
||||||
src.Transitions.Add(transition);
|
src.Transitions.Add(transition);
|
||||||
|
|
||||||
src.UpdateTransitionsOrder();
|
src.UpdateTransitionsOrder();
|
||||||
@@ -641,6 +643,8 @@ namespace FlaxEditor.Surface.Archetypes
|
|||||||
public void Dispose()
|
public void Dispose()
|
||||||
{
|
{
|
||||||
_surface = null;
|
_surface = null;
|
||||||
|
_context = new ContextHandle();
|
||||||
|
_ruleGraph = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user