Add IAacDefaultsProvider.ConfigureStateMachine(...) to position the core nodes
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user