示例#1
0
 public void DoPhysicsActions(PluggableStateController controller)
 {
     for (int i = 0; i < _actions.Length; i++)
     {
         _actions[i].FixedLogicUpdate(controller);
     }
 }
示例#2
0
    public override bool Condition(PluggableStateController controller)
    {
        bool canSeePlayer = Physics2D.Raycast(controller.WalkingController.WallCheck.position,
                                              controller.WalkingController.vectorDirection, controller.WalkingController.VisionDistance, controller.WalkingController.PlayerLayer);

        return(canSeePlayer);
    }
示例#3
0
    public void DoBasicActions(PluggableStateController controller)
    {
        CheckTransitions(controller);

        for (int i = 0; i < _actions.Length; i++)
        {
            _actions[i].LogicUpdate(controller);
        }
    }
示例#4
0
 public void CheckTransitions(PluggableStateController controller)
 {
     foreach (var transition in _transitions)
     {
         if (transition.Decision.Condition(controller))
         {
             controller.StateMachine.ChangeState(transition.TransitionToState);
         }
     }
 }
 public PluggableStateMachine(PluggableStateController controller)
 {
     _pluggableStateController = controller;
 }
示例#6
0
 public abstract void FixedLogicUpdate(PluggableStateController controller);
 public override void LogicUpdate(PluggableStateController controller)
 {
     controller.WalkingController.CheckDirection();
 }
 public override void FixedLogicUpdate(PluggableStateController controller)
 {
     controller.WalkingController.Walk();
 }
示例#9
0
 public virtual void OnEnter(PluggableStateController controller)
 {
     controller.Animator.SetBool(_animBoolName, true);
     controller.SetStartTime(Time.time);
     controller.Enemy.AllowDamage(true);
 }
示例#10
0
 public virtual void OnExit(PluggableStateController controller)
 {
     controller.Animator.SetBool(_animBoolName, false);
 }
示例#11
0
 public override void OnEnter(PluggableStateController controller)
 {
     base.OnEnter(controller);
     // do special stuff onentering patrol state
 }
示例#12
0
 public override void OnExit(PluggableStateController controller)
 {
     base.OnExit(controller);
     //do special stuff onexiting patrol state
 }
示例#13
0
 public abstract bool Condition(PluggableStateController controller);