65 lines
3.3 KiB
C#
65 lines
3.3 KiB
C#
using System.Collections.Generic;
|
|
using Sirenix.OdinInspector;
|
|
using SLSUtilities.FunctionalAnimation;
|
|
using UnityEngine;
|
|
using UnityEngine.Serialization;
|
|
|
|
namespace Cielonos.MainGame.Characters
|
|
{
|
|
[CreateAssetMenu(fileName = "BaseAnimationGroup", menuName = "Cielonos/Characters/BaseAnimationGroup")]
|
|
public class BaseAnimationGroup : SerializedScriptableObject
|
|
{
|
|
public AnimationClip landIdle;
|
|
public List<AnimationClip> landIdleExtras;
|
|
public AnimationClip landWalkForward, landWalkBack, landWalkLeft, landWalkRight;
|
|
public AnimationClip landRunForward, landRunBack, landRunLeft, landRunRight;
|
|
public AnimationClip jumpStart;
|
|
[FormerlySerializedAs("jumpInAir")] public AnimationClip inAir;
|
|
public AnimationClip jumpLand;
|
|
public AnimationClip getHitMediumFront, getHitMediumBack, getHitMediumLeft, getHitMediumRight;
|
|
public AnimationClip getHitHeavyFront, getHitHeavyBack, getHitHeavyLeft, getHitHeavyRight;
|
|
public AnimationClip getHitDisruptionFront, getHitDisruptionBack, getHitDisruptionLeft, getHitDisruptionRight;
|
|
public AnimationClip riseUpFront, riseUpBack, riseUpLeft, riseUpRight;
|
|
public AnimationClip incapacitation, death;
|
|
|
|
public FuncAnimData dash;
|
|
public FuncAnimData dodge;
|
|
|
|
public void SetUp(AnimationSubcontrollerBase animSc)
|
|
{
|
|
if (animSc is PlayerAnimationSubcontroller playerAnimSc)
|
|
{
|
|
AnimatorOverrideController animatorOverride = playerAnimSc.animatorOverride;
|
|
|
|
animatorOverride["LandIdle"] = landIdle;
|
|
animatorOverride["LandWalkForward"] = landWalkForward;
|
|
animatorOverride["LandWalkBack"] = landWalkBack;
|
|
animatorOverride["LandWalkLeft"] = landWalkLeft;
|
|
animatorOverride["LandWalkRight"] = landWalkRight;
|
|
animatorOverride["LandRunForward"] = landRunForward;
|
|
animatorOverride["LandRunBack"] = landRunBack;
|
|
animatorOverride["LandRunLeft"] = landRunLeft;
|
|
animatorOverride["LandRunRight"] = landRunRight;
|
|
animatorOverride["JumpStart"] = jumpStart;
|
|
animatorOverride["InAir"] = inAir;
|
|
animatorOverride["JumpLand"] = jumpLand;
|
|
|
|
animatorOverride["GetHitMediumFront"] = getHitMediumFront;
|
|
animatorOverride["GetHitMediumBack"] = getHitMediumBack;
|
|
animatorOverride["GetHitMediumLeft"] = getHitMediumLeft;
|
|
animatorOverride["GetHitMediumRight"] = getHitMediumRight;
|
|
animatorOverride["GetHitHeavyFront"] = getHitHeavyFront;
|
|
animatorOverride["GetHitHeavyBack"] = getHitHeavyBack;
|
|
animatorOverride["GetHitHeavyLeft"] = getHitHeavyLeft;
|
|
animatorOverride["GetHitHeavyRight"] = getHitHeavyRight;
|
|
animatorOverride["GetHitDisruptionFront"] = getHitDisruptionFront;
|
|
animatorOverride["GetHitDisruptionBack"] = getHitDisruptionBack;
|
|
animatorOverride["GetHitDisruptionLeft"] = getHitDisruptionLeft;
|
|
animatorOverride["GetHitDisruptionRight"] = getHitDisruptionRight;
|
|
}
|
|
|
|
animSc.fullBodyFuncAnimSm.ReSet(dash);
|
|
animSc.fullBodyFuncAnimSm.ReSet(dodge);
|
|
}
|
|
}
|
|
} |