// 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"); } }
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"); }
private void SlowDown() { speed -= 10; vehicleFSM.Fire("To running"); }