Beispiel #1
0
        private void resetScenario()
        {
            userCarAI.enabled   = false;
            AIVehicleAI.enabled = false;

            UserCar.GetComponent <CarUserControl>().enabled = false;

            UserCar.GetComponent <CarUserControl>().StopCar();

            userCarController.ResetSpeed();
            AIVehicleCarController.ResetSpeed();

            hudController.Clear();

            if (mirror != null)
            {
                mirror.SetActive(false);
            }
            UserCar.SetActive(false);
            AIVehicle.SetActive(false);

            AIVehicle.transform.position = new Vector3(25.9f, 0.457f, 1f);
            AIVehicle.transform.rotation = Quaternion.Euler(0f, 0f, 0f);

            UserCar.transform.position = new Vector3(26f, 0.26f, -6f);
            UserCar.transform.rotation = Quaternion.Euler(0f, 0f, 0f);

            canPass = false;

            // reset circuits
            userCarAI.Circuit   = AITrack;
            AIVehicleAI.Circuit = UserTrack;
        }
Beispiel #2
0
        public override void TriggerCb(uint id)
        {
            switch (id)
            {
            case 0:
                if (GetState().Equals(States.UserDriveRoute))
                {
                    ChangeState(States.UserApproachTraffic);
                }
                else if (GetState().Equals(States.AIDriveRoute))
                {
                    ChangeState(States.AIApproachTraffic);
                }
                break;

            case 1:             //increase fog
                if (GetState().Equals(States.UserApproachTraffic) || GetState().Equals(States.AIApproachTraffic))
                {
                    RenderSettings.fogDensity      = 0.5f;
                    hudController.model.centerText = "Go straight";
                }
                break;

            case 2:
                if (GetState().Equals(States.UserApproachTraffic))
                {
                    ChangeState(States.UserWarnCollision);
                }
                else if (GetState().Equals(States.AIApproachTraffic))
                {
                    ChangeState(States.AIWarnCollision);
                }
                break;

            case 3:
                if (GetState().Equals(States.UserDriveRoute) || GetState().Equals(States.AIDriveRoute))
                {
                    hudController.Clear();
                    hudController.model.centerText = "Turn right";

                    hudController.FlashImage(Resources.Load(VRAVEStrings.Right_Turn, typeof(Material)) as Material,
                                             0.5f, 0.5f, 0.75f, 5, hudAsyncController);
                }
                break;

            case 4:
                //Debug.Log ("CollisionTrigger triggered");
                if (GetState().Equals(States.UserWarnCollision))
                {
                    //Debug.Log ("Switching to UserStopped state");
                    ChangeState(States.UserStopped);
                }
                else if (GetState().Equals(States.AIWarnCollision))
                {
                    ChangeState(States.AIStopped);
                }
                break;

            case 5:
                if (GetState().Equals(States.UserDriveRoute) || GetState().Equals(States.AIDriveRoute))
                {
                    hudController.model.centerText = "Proceed through intersection";
                }
                break;

            case 6:
                if (GetState().Equals(States.UserApproachTraffic) || GetState().Equals(States.AIApproachTraffic))
                {
                    hudController.Clear();
                    hudController.model.centerText = "Turn left";
                    hudController.FlashImage(Resources.Load(VRAVEStrings.Left_Turn, typeof(Material)) as Material,
                                             0.5f, 0.5f, 0.75f, 5, hudAsyncController);
                }
                break;

            case 7:
                if (GetState().Equals(States.UserStopped))
                {
                    //audioController.playAudio (2);
                }
                else if (GetState().Equals(States.AIStopped))
                {
                    audioController.playAudio(4);
                }
                break;

            default:
                break;
            }
        }
Beispiel #3
0
        /********************** RESETS *******************************/

        // DISABLES CAR-AI AND USER-DRIVING
        private void resetIntersectionScenario()
        {
            UserCar.SetActive(true);

            carAI.enabled = false;
            UserCar.GetComponent <CarUserControl> ().enabled = false;
            UserCar.GetComponent <CarUserControl> ().StopCar();

            CrazyIntersectionAI.SetActive(false);
            UnsuspectingAI.SetActive(false);

            UserCar.transform.position = new Vector3(26f, 0.26f, -18.3f);
            UserCar.transform.rotation = Quaternion.Euler(0f, 0f, 0f);

            carController.ResetSpeed();

            CrazyIntersectionAI.transform.position = new Vector3(43.6f, 0.01f, 65f);
            CrazyIntersectionAI.transform.rotation = Quaternion.Euler(0f, 270f, 0f);

            UnsuspectingAI.transform.position = new Vector3(-34f, 0.01f, 63.07f);
            UnsuspectingAI.transform.rotation = Quaternion.Euler(0f, 90f, 0f);

            hudController.Clear();

            // reset circuits
            crazyAI.Circuit           = crazyAI.Circuit;
            unsuspectingCarAI.Circuit = unsuspectingCarAI.Circuit;
        }