Beispiel #1
0
    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;
        }
    }