From 77d68dcc0fe9fe3be4c61dae53a9fb8b1aa259f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ha=C3=AF=7E?= Date: Sun, 20 Mar 2022 06:12:20 +0100 Subject: [PATCH] Add IAacDefaultsProvider.ConfigureStateMachine(...) to position the core nodes --- Framework/Editor/V0/Aac.cs | 6 ++---- Framework/Editor/V0/AacDefaultsProvider.cs | 10 ++++++++++ Framework/Editor/V0/AacFlStates.cs | 3 +++ 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/Framework/Editor/V0/Aac.cs b/Framework/Editor/V0/Aac.cs index 47d5604..7df5fe2 100644 --- a/Framework/Editor/V0/Aac.cs +++ b/Framework/Editor/V0/Aac.cs @@ -634,10 +634,8 @@ namespace AnimatorAsCode.V0 var layer = TryGetLayer(layerName); var machinist = new AacFlStateMachine(layer.stateMachine, _emptyClip, new AacBackingAnimator(this), _defaultsProvider); - return machinist - .WithAnyStatePosition(0, 7) - .WithEntryPosition(0, -1) - .WithExitPosition(7, -1); + _defaultsProvider.ConfigureStateMachine(layer.stateMachine); + return machinist; } private int FindIndexOf(string layerName) diff --git a/Framework/Editor/V0/AacDefaultsProvider.cs b/Framework/Editor/V0/AacDefaultsProvider.cs index 7e0f9fc..93e8a19 100644 --- a/Framework/Editor/V0/AacDefaultsProvider.cs +++ b/Framework/Editor/V0/AacDefaultsProvider.cs @@ -11,6 +11,7 @@ namespace AnimatorAsCode.V0 string ConvertLayerName(string systemName); string ConvertLayerNameWithSuffix(string systemName, string suffix); Vector2 Grid(); + void ConfigureStateMachine(AnimatorStateMachine stateMachine); } public class AacDefaultsProvider : IAacDefaultsProvider @@ -54,5 +55,14 @@ namespace AnimatorAsCode.V0 { return new Vector2(250, 70); } + + public void ConfigureStateMachine(AnimatorStateMachine stateMachine) + { + var grid = Grid(); + stateMachine.anyStatePosition = grid * new Vector2(0, 7); + stateMachine.entryPosition = grid * new Vector2(0, -1); + stateMachine.exitPosition = grid * new Vector2(7, -1); + stateMachine.parentStateMachinePosition = grid * new Vector2(3, -1); + } } } \ No newline at end of file diff --git a/Framework/Editor/V0/AacFlStates.cs b/Framework/Editor/V0/AacFlStates.cs index 050b03c..294be80 100644 --- a/Framework/Editor/V0/AacFlStates.cs +++ b/Framework/Editor/V0/AacFlStates.cs @@ -115,6 +115,7 @@ namespace AnimatorAsCode.V0 public readonly AnimatorStateMachine Machine; private readonly AnimationClip _emptyClip; private readonly AacBackingAnimator _backingAnimator; + private readonly IAacDefaultsProvider _defaultsProvider; private readonly float _gridShiftX; private readonly float _gridShiftY; @@ -126,6 +127,7 @@ namespace AnimatorAsCode.V0 Machine = machine; _emptyClip = emptyClip; _backingAnimator = backingAnimator; + _defaultsProvider = defaultsProvider; var grid = defaultsProvider.Grid(); _gridShiftX = grid.x; @@ -149,6 +151,7 @@ namespace AnimatorAsCode.V0 { var stateMachine = Machine.AddStateMachine(name, GridPosition(x, y)); var aacMachine = new AacFlStateMachine(stateMachine, _emptyClip, _backingAnimator, DefaultsProvider, this); + _defaultsProvider.ConfigureStateMachine(stateMachine); _childNodes.Add(aacMachine); return aacMachine; }