Files
Cielonos/Assets/Scripts/SLSUtilities/FunctionalAnimation/FuncAnimInfo.cs

62 lines
2.1 KiB
C#
Raw Normal View History

2025-11-25 08:19:33 -05:00
using System;
using UnityEngine;
namespace SLSUtilities.FunctionalAnimation
{
public enum DisruptionType
{
Must = 10000,
Death = 9999,
ForcedExternal = 1001,
ForcedAction = 1000,
NormalExternal = 501,
NormalAction = 500,
Movement = 100,
None = 0
}
[Serializable]
public struct FuncAnimInfo
{
[Tooltip("代码中调用的动画名称")]
public string animationName;
[Tooltip("对应Animator中的State名称")]
public string stateName;
[Tooltip("这个技能是否使用Root Motion?")]
public bool useRootMotion;
[Tooltip("技能的默认打断类型")]
public DisruptionType disruptionType;
[Tooltip("技能的播放速度会临时参与对Animator.speed的改变")]
public float overridePlaySpeed; //通常用来处理外部购买的动作素材默认为1。
[Tooltip("从指定帧开始播放")]
public int overrideStartFrame; //通常用来处理外部购买的动作素材默认为0。
[Tooltip("技能是否受速度倍率影响 (例如:角色的攻速属性)")]
public bool isAffectedBySpeedMultiplier;
[Tooltip("技能描述,通常是给开发者看的,便于回忆,可以不写,不会在游戏中显示")]
[TextArea]
public string description;
public FuncAnimInfo(string animationName, string stateName, bool useRootMotion, DisruptionType disruptionType,
float overridePlaySpeed, int overrideStartFrame, bool isAffectedBySpeedMultiplier)
{
this.animationName = animationName;
this.stateName = stateName;
this.useRootMotion = useRootMotion;
this.disruptionType = disruptionType;
this.overridePlaySpeed = overridePlaySpeed;
this.overrideStartFrame = overrideStartFrame;
this.isAffectedBySpeedMultiplier = isAffectedBySpeedMultiplier;
this.description = "";
}
}
}