namespace Gameplay.Unit.Data { public class UnitStatusData { public readonly GameUnit owner; /// /// 是否正在移动 /// public bool isMoveing = false; /// /// 是否已死亡 /// public bool isDead = false; /// /// 是否可以被攻击 /// public bool canBeAttack = true; /// /// 是否在载具上 /// public bool isOnVehicle = false; /// /// 是否混乱 /// public bool isChaos = false; /// /// 是否眩晕 /// public bool isStun = false; /// /// 是否锁定位置 /// public bool isLockPos = false; /// /// 是否逃跑 /// public bool isRetreat = false; /// /// 是否需要技能暂停 /// public bool needSkillPaused = false; /// /// 是否在释放技能 /// public bool isInSkilling = false; /// /// 是否不可逃跑 /// public bool isNoRetreat = false; /// /// 是否是AI控制 /// public bool isAIControll = false; /// /// 检查是否可以被当做被攻击目标 /// /// public bool CheckCanBeTarget() { if (!canBeAttack) return false; if (!owner.isReady) return false; if (isDead) return false; if (isOnVehicle) return false; return true; } public UnitStatusData(GameUnit owner) { this.owner = owner; } public void Reset() { isMoveing = false; isDead = false; canBeAttack = true; isOnVehicle = false; isChaos = false; isStun = false; isLockPos = false; isRetreat = false; needSkillPaused = false; isInSkilling = false; isNoRetreat = false; } } }