public static PatrolState Create(StateBlackboard blackboard, Animator animator, NavMeshAgent navAgent, string idleTrigger, string runTrigger, Vector3 origin, float patrolRadius, float minWaitDuration, float maxWaitDuration, out SetAnimTriggerAction walkAction, bool randomWaitDuration = false) { SetAnimTriggerAction idleAction = new SetAnimTriggerAction(blackboard, animator, idleTrigger); walkAction = new SetAnimTriggerAction(blackboard, animator, runTrigger); SetRandomDestinationAction destinationAction = new SetRandomDestinationAction(blackboard, origin, patrolRadius); MoveToDestinationAction moveToAction = new MoveToDestinationAction(blackboard, navAgent); TimerAction timerAction = randomWaitDuration ? new TimerAction(blackboard, minWaitDuration, maxWaitDuration) : new TimerAction(blackboard, maxWaitDuration); return(new PatrolState(blackboard, idleAction, timerAction, walkAction, destinationAction, moveToAction)); }
public PatrolState(StateBlackboard blackboard, SetAnimTriggerAction setIdleAction, TimerAction timerAction, SetAnimTriggerAction setWalkAction, SetRandomDestinationAction setDestinationAction, MoveToDestinationAction moveToAction, int priority = 0, bool repeatable = false) : base(blackboard, priority, repeatable) { actions.Add(setIdleAction); actions.Add(timerAction); actions.Add(setWalkAction); actions.Add(setDestinationAction); actions.Add(moveToAction); }
public RangedAttackState(StateBlackboard blackboard, SetAnimTriggerAction idleAction, TimerAction timerAction, SetRandomDestinationAction destinationAction, SetAnimTriggerAction runAction, MoveToDestinationAction moveToAction, SetSkillAction setSkillAction, LookAtTargetAction lookAtAction, SetAnimTriggerAction attackAction, int priority = 0, bool repeatable = false) : base(blackboard, priority, repeatable) { actions.Add(idleAction); actions.Add(timerAction); actions.Add(destinationAction); actions.Add(runAction); actions.Add(moveToAction); actions.Add(setSkillAction); actions.Add(lookAtAction); actions.Add(attackAction); }