(PACKAGING) Change the folder structure for package format
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
using UnityEditor.Animations;
|
||||
using UnityEngine;
|
||||
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace AnimatorAsCode.V1
|
||||
{
|
||||
public interface IAacDefaultsProvider
|
||||
{
|
||||
void ConfigureState(AnimatorState state, AnimationClip emptyClip);
|
||||
void ConfigureTransition(AnimatorStateTransition transition);
|
||||
string ConvertLayerName(string systemName);
|
||||
string ConvertLayerNameWithSuffix(string systemName, string suffix);
|
||||
Vector2 Grid();
|
||||
void ConfigureStateMachine(AnimatorStateMachine stateMachine);
|
||||
}
|
||||
|
||||
public class AacDefaultsProvider : IAacDefaultsProvider
|
||||
{
|
||||
private readonly bool _writeDefaults;
|
||||
|
||||
public AacDefaultsProvider(bool writeDefaults = false)
|
||||
{
|
||||
_writeDefaults = writeDefaults;
|
||||
}
|
||||
|
||||
public virtual void ConfigureState(AnimatorState state, AnimationClip emptyClip)
|
||||
{
|
||||
state.motion = emptyClip;
|
||||
state.writeDefaultValues = _writeDefaults;
|
||||
}
|
||||
|
||||
public virtual void ConfigureTransition(AnimatorStateTransition transition)
|
||||
{
|
||||
transition.duration = 0;
|
||||
transition.hasExitTime = false;
|
||||
transition.exitTime = 0;
|
||||
transition.hasFixedDuration = true;
|
||||
transition.offset = 0;
|
||||
transition.interruptionSource = TransitionInterruptionSource.None;
|
||||
transition.orderedInterruption = true;
|
||||
transition.canTransitionToSelf = false;
|
||||
}
|
||||
|
||||
public virtual string ConvertLayerName(string systemName)
|
||||
{
|
||||
return systemName;
|
||||
}
|
||||
|
||||
public virtual string ConvertLayerNameWithSuffix(string systemName, string suffix)
|
||||
{
|
||||
return $"{systemName}__{suffix}";
|
||||
}
|
||||
|
||||
public Vector2 Grid()
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user