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; }
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; } }
/********************** 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; }