2026-04-17 12:01:50 -04:00
|
|
|
|
using SLSUtilities.UModAssistance;
|
2025-10-03 00:02:43 -04:00
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Continentis.MainGame.Character
|
|
|
|
|
|
{
|
|
|
|
|
|
public partial class CombatNPC : CharacterBase
|
|
|
|
|
|
{
|
2026-04-01 12:23:27 -04:00
|
|
|
|
/// <summary>当前阶段编号,从 0 开始。Boss Logic 在 OnPhaseChange 中推进此值。</summary>
|
|
|
|
|
|
public int currentPhase;
|
|
|
|
|
|
|
2025-11-15 12:17:34 -05:00
|
|
|
|
public CombatNPC(CharacterData data, Fraction fraction) : base(data, fraction)
|
|
|
|
|
|
{
|
2026-04-01 12:23:27 -04:00
|
|
|
|
currentPhase = 0;
|
2025-11-15 12:17:34 -05:00
|
|
|
|
}
|
2025-10-03 00:02:43 -04:00
|
|
|
|
}
|
2026-04-01 12:23:27 -04:00
|
|
|
|
|
2025-10-03 00:02:43 -04:00
|
|
|
|
public partial class CombatNPC
|
|
|
|
|
|
{
|
2026-04-01 12:23:27 -04:00
|
|
|
|
/// <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;
|
|
|
|
|
|
}
|
2025-10-03 00:02:43 -04:00
|
|
|
|
}
|
|
|
|
|
|
}
|