public Executable GetExecutable(HiraComponentContainer target, IBlackboardComponent blackboard) { if (target is IContainsComponent <NavMeshAgent> navigableTarget && navigableTarget.Component != null) { return(GenericPool <StaticMoveToExecutable> .Retrieve().Init(navigableTarget.Component, blackboard, targetPosition, followTarget, speed, tolerance)); } return(AutoFailExecutable.INSTANCE); }
public Executable GetExecutable(HiraComponentContainer target, IBlackboardComponent blackboard) { if (target is IContainsComponent <AgentAnimator> animatedTarget) { return(GenericPool <KickExecutable> .Retrieve().Init(animatedTarget.Component)); } return(AutoFailExecutable.INSTANCE); }
public TaskRunner(HiraComponentContainer target, IBlackboardComponent blackboard, IPlannerDomain domain, Action <bool> onPlanRunnerFinished) { _domain = domain; _target = target; _blackboard = blackboard; _executionQueue = ExecutionQueue.Create(); _serviceRunner = ServiceRunner.Create(); _onPlanRunnerFinished = onPlanRunnerFinished; }
public void Populate(ExecutionQueue executionQueue, ServiceRunner serviceRunner, HiraComponentContainer target, IBlackboardComponent blackboard) { if (Collection4.Length == 0) { executionQueue.Append(AutoSucceedExecutable.INSTANCE); } foreach (var provider in Collection4) { executionQueue.Append(provider.GetExecutable(target, blackboard)); } foreach (var serviceProvider in Collection5) { serviceRunner.Append(serviceProvider.GetService(target, blackboard)); } }
public Executable GetExecutable(HiraComponentContainer target, IBlackboardComponent blackboard) => GenericPool <PickRandomLocationExecutable> .Retrieve().Init(blackboard, storeIn, location);
public Executable GetExecutable(HiraComponentContainer target, IBlackboardComponent blackboard) { return(GenericPool <RotateToExecutable> .Retrieve().Init(target.transform, blackboard, location)); }
public Executable GetExecutable(HiraComponentContainer target, IBlackboardComponent blackboard) => GenericPool <WaitExecutable> .Retrieve().Init(time);