Files
Cielonos/Assets/Scripts/MainGame/Characters/Data/Presets/BaseAnimationGroup.cs
SoulliesOfficial 50ee502684 完善
2026-02-13 09:22:11 -05:00

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);
}
}
}