private void Act(int timeOfDay) { ActionList action = planning.actions[timeOfDay]; if (action != lastAction) { //Debug.Log(action); switch (action) { case ActionList.GoToWork: leftHome?.Invoke(); if (asCar) { car.SetActive(true); car.transform.position = livingPlace.CarPosition.transform.position; //carController.setPath(roadToWork); carController.GoTo(livingPlace.CarPosition, workPlace.CarPosition); carController.AsArrived += ArrivedToWork; } else { if (gameObject.GetComponent <MeshRenderer>().enabled == false) { gameObject.GetComponent <MeshRenderer>().enabled = true; } //Debug.Log("Living to work on foot"); //Debug.Log(controller); transform.position = livingPlace.PedestrianPosition.transform.position; controller.GoTo(livingPlace.PedestrianPosition, workPlace.PedestrianPosition); controller.AsArrived += ArrivedToWork; } break; case ActionList.GoToHome: leftWork?.Invoke(); if (asCar) { car.SetActive(true); car.transform.position = workPlace.CarPosition.transform.position; //carController.setPath(roadToHome); carController.GoTo(workPlace.CarPosition, livingPlace.CarPosition); carController.AsArrived += ArrivedToHome; } else { transform.position = workPlace.PedestrianPosition.transform.position; controller.GoTo(workPlace.PedestrianPosition, livingPlace.PedestrianPosition); controller.AsArrived += ArrivedToHome; } break; } lastAction = action; } }