using Opsive.BehaviorDesigner.Runtime.Tasks; using Opsive.GraphDesigner.Runtime.Variables; using Opsive.Shared.Utility; using UnityEngine; namespace Cielonos.MainGame.Characters.AI { [Description("尝试申请扇区。成功返回 Success,所有扇区已满返回 Failure。")] [Category("Cielonos")] public class TryAcquireSector : AutomataConditionalBase { [Tooltip("敌人的交战距离(站位半径)。")] [SerializeField] protected SharedVariable m_EngageRadius = 3f; public override TaskStatus OnUpdate() { bool acquired = CombatManager.CoordinatorSm.TryAcquireSector(self, m_EngageRadius.Value); return acquired ? TaskStatus.Success : TaskStatus.Failure; } } }