void ChangeState(State newState)
        {
            switch (currentState)
            {
            case State.INITIAL:
                break;

            case State.ENTER:
                RouterExecutor.Exit();
                RouterExecutor.target  = null;
                RouterExecutor.enabled = false;
                break;

            case State.MAKE_POO:
                break;

            case State.EXIT:
                RouterExecutor.Exit();
                RouterExecutor.target  = null;
                RouterExecutor.enabled = false;
                break;
            }
            switch (newState)
            {
            case State.INITIAL:
                break;

            case State.ENTER:
                RouterExecutor.ReEnter();
                RouterExecutor.target  = GOTarjet;
                RouterExecutor.enabled = true;
                break;

            case State.MAKE_POO:
                break;

            case State.EXIT:
                RouterExecutor.ReEnter();
                RouterExecutor.target  = GOTarjet;
                RouterExecutor.enabled = true;
                break;
            }
            currentState = newState;
        }
        void ChangeState(State newState)
        {
            //EXIT STATE LOGIC
            switch (currentState)
            {
            case State.WANDER:
                fsm_Wander.Exit();
                fsm_Wander.enabled = false;
                break;

            case State.SEED:
                fsm_Seed.Exit();
                fsm_Seed.enabled = false;
                break;

            case State.GO_TO_ENERGY_POINT:
                fsm_RouteExec.Exit();
                fsm_RouteExec.enabled = false;
                energyPoint           = null;
                break;

            case State.RECHARGE:

                break;
            }

            //ENTER STATE LOGIC
            switch (newState)
            {
            case State.WANDER:
                fsm_Wander.enabled = true;
                fsm_Wander.ReEnter();
                break;

            case State.SEED:
                fsm_Seed.enabled = true;
                fsm_Seed.ReEnter();
                break;

            case State.GO_TO_ENERGY_POINT:
                myBlackBoard.memory.Clear();
                FindNearestRechargePoint();     //FIND THE NEAREST CHARGE POINT
                fsm_RouteExec.ReEnter();
                fsm_RouteExec.target  = energyPoint;
                fsm_RouteExec.enabled = true;     //ENABLE ROUTEEXECUTOR_FSM
                break;

            case State.RECHARGE:

                break;
            }
            currentState = newState;
        }
Example #3
0
 public override void Exit()
 {
     targetedDust = null;
     targetedPoo  = null;
     fsm_RouteExec.Exit();;
     fsm_RouteExec.enabled = false;
     base.Exit();
 }
        void ChangeState(State newState)
        {
            //Exit
            switch (currentState)
            {
            case State.INITIAL:

                break;

            case State.NORAMAL:
                FSMMOuse.Exit();
                FSMMOuse.enabled = false;
                break;

            case State.FLEE:
                RouterExecutor.Exit();
                RouterExecutor.target  = null;
                RouterExecutor.enabled = false;
                break;
            }
            //enter
            switch (newState)
            {
            case State.INITIAL:

                break;

            case State.NORAMAL:
                FSMMOuse.ReEnter();
                FSMMOuse.enabled = true;
                break;

            case State.FLEE:
                RouterExecutor.ReEnter();
                RouterExecutor.target  = OBTarget;
                RouterExecutor.enabled = true;
                mySpriteRenderer.color = Color.green;
                break;
            }
            currentState = newState;
        }