30 lines
1.0 KiB
C#
30 lines
1.0 KiB
C#
using SLSFramework.UModAssistance;
|
||
using UnityEngine;
|
||
|
||
namespace Continentis.MainGame.Character
|
||
{
|
||
public partial class CombatNPC : CharacterBase
|
||
{
|
||
/// <summary>当前阶段编号,从 0 开始。Boss Logic 在 OnPhaseChange 中推进此值。</summary>
|
||
public int currentPhase;
|
||
|
||
public CombatNPC(CharacterData data, Fraction fraction) : base(data, fraction)
|
||
{
|
||
currentPhase = 0;
|
||
}
|
||
}
|
||
|
||
public partial class CombatNPC
|
||
{
|
||
/// <summary>
|
||
/// 阶段切换时由 <see cref="CharacterLogicBase.OnHealthThreshold"/> 调用。
|
||
/// 子类(Boss Logic)重写此方法以改变可用 Intention 集合、播放阶段动画等。
|
||
/// </summary>
|
||
public virtual void OnPhaseChange(int newPhase)
|
||
{
|
||
Debug.Log($"[Combat] {data.displayName} 进入阶段 {newPhase}");
|
||
// TODO: 阶段切换动画/台词,待动画系统完善后替换 Debug.Log
|
||
currentPhase = newPhase;
|
||
}
|
||
}
|
||
} |