using BehaviorDesigner.Runtime.Tasks; using GAS.Runtime; namespace CoreGame.Render { public class CheckRangeOverCondition : Conditional { public override TaskStatus OnUpdate() { var ownerEnt = Owner.GetEntity(); var ac = ownerEnt.aI; var entity = ac.TargetEnt; if (entity == null) return TaskStatus.Failure; var ga = (TimelineAbilitySpec)ownerEnt.abilitySystem.GetAbilitySpecs(ac.abilitySeq); if (ga == null) return TaskStatus.Failure;; // var dis = ExpressionEvaluator.CalcVal(ga.ctx.abilityCfg.SkillDistance, ga.ctx, 10); var dis = 10; if ((entity.transformProxy.position - ownerEnt.transformProxy.position).sqrMagnitude > dis * dis) return TaskStatus.Success;; return TaskStatus.Failure;; } } }