You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
948 B
30 lines
948 B
1 month ago
|
using BehaviorDesigner.Runtime.Tasks;
|
||
|
using GAS.Runtime;
|
||
|
|
||
|
namespace CoreGame.Render
|
||
|
{
|
||
|
public class CheckRangeOverCondition : Conditional
|
||
|
{
|
||
|
public override TaskStatus OnUpdate()
|
||
|
{
|
||
|
var ownerEnt = Owner.GetEntity<CombatEntity>();
|
||
|
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;;
|
||
|
}
|
||
|
}
|
||
|
}
|