feat(enemy): 攻击选招元数据(category/weight/圆形射程)与选招模式入 SO
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
namespace BaseGames.Enemies.Abilities
|
||||
{
|
||||
/// <summary>能力调度分类:攻击选择器只从 <see cref="Attack"/> 类里选招。</summary>
|
||||
public enum AbilityCategory
|
||||
{
|
||||
None, // 未分类(默认,不参与选招)
|
||||
Attack, // 攻击招式(选择器候选)
|
||||
Movement, // 位移/机动
|
||||
Utility // 辅助/增益
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace BaseGames.Enemies.Abilities
|
||||
{
|
||||
/// <summary>多攻击选招策略。</summary>
|
||||
public enum AttackSelectionMode
|
||||
{
|
||||
WeightedRandom, // 合格集内按 weight 加权随机
|
||||
Priority // 合格集内取 priority 最高(并列取首个)
|
||||
}
|
||||
}
|
||||
@@ -42,5 +42,17 @@ namespace BaseGames.Enemies.Abilities
|
||||
public string exclusionGroup = "";
|
||||
[Tooltip("AI 调度优先级(值越高越优先被选择,冷却就绪时对比)")]
|
||||
[Min(0)] public int priority = 0;
|
||||
|
||||
[Header("选招(攻击选择器用)")]
|
||||
[Tooltip("能力调度分类;攻击选择器只从 Attack 类里选招")]
|
||||
public AbilityCategory category = AbilityCategory.None;
|
||||
[Tooltip("WeightedRandom 模式下的相对权重(越大越易被选)")]
|
||||
[Min(0f)] public float weight = 1f;
|
||||
|
||||
[Header("攻击触发范围(招式自管,圆形)")]
|
||||
[Tooltip("触发半径(m);category==Attack 时必须 > 0,否则永远够不着(Awake 报错)")]
|
||||
[Min(0f)] public float rangeRadius = 0f;
|
||||
[Tooltip("范围圆心相对敌人的偏移(m),X 随朝向翻转")]
|
||||
public Vector2 rangeOffset = Vector2.zero;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user