32 lines
1.1 KiB
C#
32 lines
1.1 KiB
C#
using System;
|
|
|
|
namespace BaseGames.Combat
|
|
{
|
|
/// <summary>
|
|
/// 描述某个状态/技能在特定动画时间段内拥有的霸体等级(架构 06_CombatModule §13)。
|
|
/// 在状态机的 Update() 或 AnimancerEvent 中与动画归一化时间对比,决定当前霸体等级。
|
|
/// 使用示例:
|
|
/// <code>
|
|
/// [SerializeField] private PoiseWindowConfig[] _poiseWindows;
|
|
/// public PoiseLevel GetCurrentPoiseLevel()
|
|
/// {
|
|
/// float t = _animancer.States.Current?.NormalizedTime ?? 0f;
|
|
/// foreach (var w in _poiseWindows)
|
|
/// if (t >= w.NormalizedStart && t <= w.NormalizedEnd)
|
|
/// return w.Level;
|
|
/// return PoiseLevel.None;
|
|
/// }
|
|
/// </code>
|
|
/// </summary>
|
|
[Serializable]
|
|
public struct PoiseWindowConfig
|
|
{
|
|
/// <summary>此时间窗口期间的霸体等级。</summary>
|
|
public PoiseLevel Level;
|
|
/// <summary>动画归一化时间起点(0~1)。</summary>
|
|
public float NormalizedStart;
|
|
/// <summary>动画归一化时间终点(0~1)。</summary>
|
|
public float NormalizedEnd;
|
|
}
|
|
}
|