2023-12-13 16:20:41 +08:00
|
|
|
namespace Gameplay.Unit.Data
|
2023-08-22 19:08:45 +08:00
|
|
|
{
|
|
|
|
|
public class UnitStatusData
|
|
|
|
|
{
|
2023-10-19 15:00:19 +08:00
|
|
|
public readonly GameUnit owner;
|
2023-08-22 19:08:45 +08:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否正在移动
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool isMoveing = false;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否已死亡
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool isDead = false;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否可以被攻击
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool canBeAttack = true;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否在载具上
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool isOnVehicle = false;
|
2023-10-19 15:00:19 +08:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否混乱
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool isChaos = false;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否眩晕
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool isStun = false;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否锁定位置
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool isLockPos = false;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否逃跑
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool isRetreat = false;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否需要技能暂停
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool needSkillPaused = false;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否在释放技能
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool isInSkilling = false;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否不可逃跑
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool isNoRetreat = false;
|
2023-08-22 19:08:45 +08:00
|
|
|
|
2023-12-25 19:00:08 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 是否是AI控制
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool isAIControll = false;
|
|
|
|
|
|
2024-01-17 14:09:16 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 是否是伪装状态
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool isPretend = false;
|
|
|
|
|
|
2024-03-22 14:25:27 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 是否是死撑状态
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool isDeadRetreat = false;
|
|
|
|
|
|
2023-08-22 19:08:45 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 检查是否可以被当做被攻击目标
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public bool CheckCanBeTarget()
|
|
|
|
|
{
|
|
|
|
|
if (!canBeAttack) return false;
|
2023-10-19 15:00:19 +08:00
|
|
|
if (!owner.isReady) return false;
|
2023-08-22 19:08:45 +08:00
|
|
|
if (isDead) return false;
|
|
|
|
|
if (isOnVehicle) return false;
|
2024-01-17 14:09:16 +08:00
|
|
|
if (isPretend) return false;
|
2023-08-22 19:08:45 +08:00
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public UnitStatusData(GameUnit owner)
|
|
|
|
|
{
|
|
|
|
|
this.owner = owner;
|
|
|
|
|
}
|
2023-12-19 14:26:50 +08:00
|
|
|
|
|
|
|
|
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;
|
2024-03-22 14:25:27 +08:00
|
|
|
isDeadRetreat = false;
|
2023-12-19 14:26:50 +08:00
|
|
|
}
|
2023-08-22 19:08:45 +08:00
|
|
|
}
|
|
|
|
|
}
|