using System.Collections;
using System.Collections.Generic;
using UnityEngine;
///
/// 阶段类型
///
public enum PhaseType {
先攻阶段, 突袭阶段, 回合阶段, 行动阶段, 结算阶段,
选择角色, 角色攻击
}
///
/// 阶段
///
public interface IPhase {
/// 执行阶段
public void Execute();
}
///
/// 战斗阶段
///
public abstract class BattlePhase : IPhase {
/// 模拟器
public readonly BattleSimulator simulator;
/// 行动角色
public DataCombatRole ActionRole => simulator.actionRole;
/// 战斗队列
public BattleQueue BattleQueue => simulator.battleQueue;
public BattlePhase(BattleSimulator simulator) => this.simulator = simulator;
public abstract void Execute();
/// 阶段过渡
public void Transition(PhaseType phaseType) => simulator.Transition(phaseType);
}