Exemplo n.º 1
0
    // Update is called once per frame
    private void Update()
    {
        testBoyFSM.Update();
        arriveToDestination.SetPosition(transform.position);
        distanceToChicken = (chicken.transform.position - transform.position).magnitude;

        if (Input.GetMouseButtonDown(0))
        {
            testBoyFSM.Fire("mouse clicked");
            testBoyFSM.Fire("change destination");
        }
    }
Exemplo n.º 2
0
    private void CreateStateMachine()
    {
        radarFSM = new StateMachineEngine(false);

        // Perceptions
        Perception direct    = radarFSM.CreatePerception <PushPerception>();
        Perception breakDown = radarFSM.CreatePerception <TimerPerception>(30);
        Perception fix       = radarFSM.CreatePerception <TimerPerception>(15);

        // States
        State entryState   = radarFSM.CreateEntryState("Entry State");
        State workingState = radarFSM.CreateSubStateMachine("Working", workingSubFSM);

        brokenState = radarFSM.CreateState("Broken", Broken);

        // Transitions
        radarFSM.CreateTransition("Direct", entryState, direct, workingState);
        workingSubFSM.CreateExitTransition("To broken", workingState, breakDown, brokenState);
        radarFSM.CreateTransition("To working", brokenState, fix, workingState);

        radarFSM.Fire("Direct");
    }
Exemplo n.º 3
0
 private void SlowDown()
 {
     speed -= 10;
     vehicleFSM.Fire("To running");
 }