using System.Collections.Generic; using ET.EventType; using UnityEngine; namespace ET { public enum BattleActionSegemntType { MoveToTarget, // 移动到目标位置 Attack, // 攻击 MoveBack, // 回到自己的位置 Intervene, // 援护 } public class HurtInfoView { public BattleUnitViewComponent Target; public int DamageValue; // 伤害值 public bool IsCritical; // 是否暴击 } public class BattleActionSegmentInfo { public BattleActionSegemntType Type; public int CastPosition; // 施法位置 public BattleUnitViewComponent Source; // 施法者 public BattleUnitViewComponent Target; // 目标 public List HurtInfoViews = new List(); // 受伤目标,和被攻击目标可能不同,隔山打牛 public BattleUnitViewComponent Intervener; // 援护者 public int SonSkillId; // 子技能Id public AtkInfo AtkInfo; } [ComponentOf(typeof(Scene))] public class BattleManagerComponent: Entity, IAwake, IUpdate, IDestroy { public Battle BattleInfo; public List TurnInfos = new List(); public Queue BASegmentInfos = new Queue(); public float CurActionPassedTime = 0; public BattleActionSegment CurBASegment; public bool OneTurnStart = false; public List DieBattleUnitIds = new List(); public Dictionary DropInfoDict = new Dictionary(); } }