コード例 #1
0
        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);
        }
コード例 #2
0
        public Executable GetExecutable(HiraComponentContainer target, IBlackboardComponent blackboard)
        {
            if (target is IContainsComponent <AgentAnimator> animatedTarget)
            {
                return(GenericPool <KickExecutable> .Retrieve().Init(animatedTarget.Component));
            }

            return(AutoFailExecutable.INSTANCE);
        }
コード例 #3
0
 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;
 }
コード例 #4
0
        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));
            }
        }
コード例 #5
0
 public Executable GetExecutable(HiraComponentContainer target, IBlackboardComponent blackboard) =>
 GenericPool <PickRandomLocationExecutable> .Retrieve().Init(blackboard, storeIn, location);
コード例 #6
0
 public Executable GetExecutable(HiraComponentContainer target, IBlackboardComponent blackboard)
 {
     return(GenericPool <RotateToExecutable> .Retrieve().Init(target.transform, blackboard, location));
 }
コード例 #7
0
 public Executable GetExecutable(HiraComponentContainer target, IBlackboardComponent blackboard) =>
 GenericPool <WaitExecutable> .Retrieve().Init(time);