void Update() { if (!error) { #region customizeInputsValues verticalInput = autonomousObject.verticalVal / 255.0f; horizontalInput = autonomousObject.horizontalVal / 127.0f; #endregion vehicleCode = vehicles [currentVehicle].GetComponent <MSVehicleControllerFree> (); if (autonomousObject.reset) { SceneManager.LoadScene(sceneName); autonomousObject.reset = false; } controls.handBrakeAutonomous = autonomousObject.handbrake; pause = autonomousObject.pause; if (pause) { Time.timeScale = Mathf.Lerp(Time.timeScale, 0.0f, Time.fixedDeltaTime * 5.0f); } else { Time.timeScale = Mathf.Lerp(Time.timeScale, 1.0f, Time.fixedDeltaTime * 5.0f); } } }
// Use this for initialization void Start() { _socket = GameObject.Find("SocketIO").GetComponent <SocketIOComponent>(); _socket.On("open", OnOpen); _socket.On("steer", OnSteer); _socket.On("manual", onManual); _carController = CarRemoteControl.GetComponent <MSVehicleControllerFree>(); }
private void Start() { carController = vehicleController.CurrentVehicleControl; if (CheckWaypoints() && carController) { startRotation = carController.CachedTransform.rotation; AlignWaypointsRotation(); RestartCar(); } }
void EnableVehicle(int index) { currentVehicle = Mathf.Clamp(currentVehicle, 0, vehicles.Length - 1); if (index != currentVehicle) { if (vehicles [currentVehicle]) { //change vehicle for (int x = 0; x < vehicles.Length; x++) { vehicles [x].GetComponent <MSVehicleControllerFree> ().ExitTheVehicle(); } vehicles [currentVehicle].GetComponent <MSVehicleControllerFree> ().EnterInVehicle(); vehicleCode = vehicles [currentVehicle].GetComponent <MSVehicleControllerFree> (); } } }
void Update() { if (!vehicleCode.isSaving && !vehicleCode.IsRecording && saveRecording) { entrenar.color = Color.green; entrenar.text = "Escrito en disco"; } if (!error) { #region customizeInputsValues switch (selectControls) { case ControlTypeFree.mobileButton: if (buttonLeft && buttonRight) { MSbuttonHorizontal = -buttonLeft.buttonInput + buttonRight.buttonInput; } if (buttonUp && buttonDown) { MSbuttonVertical = -buttonDown.buttonInput + buttonUp.buttonInput; } if (joystickCamera) { mouseXInput = joystickCamera.joystickHorizontal; mouseYInput = joystickCamera.joystickVertical; } verticalInput = MSbuttonVertical; horizontalInput = MSbuttonHorizontal; mouseScrollWheelInput = Input.GetAxis(_mouseScrollWheelInput); break; case ControlTypeFree.windows: verticalInput = Input.GetAxis(_verticalInput); horizontalInput = Input.GetAxis(_horizontalInput); mouseXInput = Input.GetAxis(_mouseXInput); mouseYInput = Input.GetAxis(_mouseYInput); mouseScrollWheelInput = Input.GetAxis(_mouseScrollWheelInput); break; } #endregion vehicleCode = vehicles [currentVehicle].GetComponent <MSVehicleControllerFree> (); EnableOrDisableButtons(vehicleCode.isInsideTheCar); if (Input.GetKeyDown(controls.reloadScene) && controls.enable_reloadScene_Input) { SceneManager.LoadScene(sceneName); } if (Input.GetKeyDown(controls.pause) && controls.enable_pause_Input) { pause = !pause; } if (pause) { Time.timeScale = Mathf.Lerp(Time.timeScale, 0.0f, Time.fixedDeltaTime * 5.0f); } else { Time.timeScale = Mathf.Lerp(Time.timeScale, 1.0f, Time.fixedDeltaTime * 5.0f); } if ((Input.GetKeyDown(controls.enterEndExit) || enterAndExitBool) && !blockedInteraction && player && controls.enable_enterEndExit_Input) { if (vehicles.Length <= 1) { if (vehicleCode.isInsideTheCar) { vehicleCode.ExitTheVehicle(); if (player) { player.SetActive(true); if (vehicleCode.doorPosition[0].transform.position != vehicles [currentVehicle].transform.position) { player.transform.position = vehicleCode.doorPosition[0].transform.position; } else { player.transform.position = vehicleCode.doorPosition[0].transform.position + Vector3.up * 3.0f; } } blockedInteraction = true; enterAndExitBool = false; StartCoroutine("WaitToInteract"); } else { currentDistanceTemp = Vector3.Distance(player.transform.position, vehicleCode.doorPosition[0].transform.position); for (int x = 0; x < vehicleCode.doorPosition.Length; x++) { proximityDistanceTemp = Vector3.Distance(player.transform.position, vehicleCode.doorPosition [x].transform.position); if (proximityDistanceTemp < currentDistanceTemp) { currentDistanceTemp = proximityDistanceTemp; } } if (currentDistanceTemp < minDistance) { vehicleCode.EnterInVehicle(); if (player) { player.SetActive(false); } blockedInteraction = true; enterAndExitBool = false; StartCoroutine("WaitToInteract"); } else { enterAndExitBool = false; } } } else { proximityObjectIndex = 0; proximityDoorIndex = 0; for (int x = 0; x < vehicles.Length; x++) { controllerTemp = vehicles [x].GetComponent <MSVehicleControllerFree> (); for (int y = 0; y < controllerTemp.doorPosition.Length; y++) { currentDistanceTemp = Vector3.Distance(player.transform.position, controllerTemp.doorPosition[y].transform.position); proximityDistanceTemp = Vector3.Distance(player.transform.position, vehicles [proximityObjectIndex].GetComponent <MSVehicleControllerFree> ().doorPosition[proximityDoorIndex].transform.position); if (currentDistanceTemp < proximityDistanceTemp) { proximityObjectIndex = x; proximityDoorIndex = y; } } } if (vehicleCode.isInsideTheCar) { vehicleCode.ExitTheVehicle(); if (player) { player.SetActive(true); if (vehicleCode.doorPosition[0].transform.position != vehicles [currentVehicle].transform.position) { player.transform.position = vehicleCode.doorPosition[0].transform.position; } else { player.transform.position = vehicleCode.doorPosition[0].transform.position + Vector3.up * 3.0f; } } blockedInteraction = true; enterAndExitBool = false; StartCoroutine("WaitToInteract"); } else { controllerTemp = vehicles [proximityObjectIndex].GetComponent <MSVehicleControllerFree> (); proximityDistanceTemp = Vector3.Distance(player.transform.position, controllerTemp.doorPosition[0].transform.position); for (int x = 0; x < controllerTemp.doorPosition.Length; x++) { currentDistanceTemp = Vector3.Distance(player.transform.position, controllerTemp.doorPosition [x].transform.position); if (currentDistanceTemp < proximityDistanceTemp) { proximityDistanceTemp = currentDistanceTemp; } } if (proximityDistanceTemp < minDistance) { currentVehicle = proximityObjectIndex; vehicles [currentVehicle].GetComponent <MSVehicleControllerFree> ().EnterInVehicle(); if (player) { player.SetActive(false); } blockedInteraction = true; enterAndExitBool = false; StartCoroutine("WaitToInteract"); } else { enterAndExitBool = false; } } } } // if (!playerIsNull) { if (player.gameObject.activeInHierarchy) { EnableUI(false); } else { EnableUI(UIVisualizer); } } else { EnableUI(UIVisualizer); } // if (vehicles.Length > 0 && currentVehicle < vehicles.Length && UIVisualizer && vehicleCode) { if (vehicleCode.isInsideTheCar) { clampGear = Mathf.Clamp(vehicleCode.currentGear, -1, 1); if (clampGear == 0) { clampGear = 1; } kmhText.text = "Velocidad: " + (int)(vehicleCode.KMh * clampGear) + " kmh"; volantText.text = "Volante: " + (int)(vehicleCode.angleRefVolant) + " º"; } } } }
void Awake() { error = false; CheckEqualKeyCodes(); MSSceneControllerFree[] sceneControllers = FindObjectsOfType(typeof(MSSceneControllerFree)) as MSSceneControllerFree[]; if (sceneControllers.Length > 1) { Debug.LogError("Only one controller is allowed per scene, otherwise the controllers would conflict with each other."); error = true; for (int x = 0; x < sceneControllers.Length; x++) { sceneControllers [x].gameObject.SetActive(false); } } if (startingVehicle >= vehicles.Length) { error = true; Debug.LogError("Vehicle selected to start does not exist in the 'vehicles' list"); } if (vehicles.Length == 0) { error = true; Debug.LogError("There is no vehicle in the scene or no vehicle has been associated with the controller."); } for (int x = 0; x < vehicles.Length; x++) { if (vehicles [x]) { if (!vehicles [x].GetComponent <MSVehicleControllerFree> ()) { error = true; Debug.LogError("The vehicle associated with the index " + x + " does not have the 'MSVehicleController' component. So it will be disabled."); } } else { error = true; Debug.LogError("No vehicle was associated with the index " + x + " of the vehicle list."); } } if (error) { for (int x = 0; x < vehicles.Length; x++) { if (vehicles [x]) { MSVehicleControllerFree component = vehicles [x].GetComponent <MSVehicleControllerFree> (); if (component) { component.disableVehicle = true; } vehicles [x].SetActive(false); } } return; } else { //UI transform.find cameraMobileButton = transform.Find("Canvas/ChangeCamerasB").GetComponent <Button> (); enterAndExitButton = transform.Find("Canvas/EnterAndExitB").GetComponent <Button> (); buttonLeft = transform.Find("Canvas/MSButtonLeft").GetComponent <MSButtonFree> (); buttonRight = transform.Find("Canvas/MSButtonRight").GetComponent <MSButtonFree> (); buttonUp = transform.Find("Canvas/MSButtonUp").GetComponent <MSButtonFree> (); buttonDown = transform.Find("Canvas/MSButtonDown").GetComponent <MSButtonFree> (); joystickCamera = transform.Find("Canvas/MSJoystickCamera").GetComponent <JoystickFree> (); kmhText = transform.Find("Canvas/Strings/kmhText").GetComponent <Text> (); if (Application.loadedLevelName == "SimuladorJaviXue") { Boton = transform.Find("Canvas/ButtonRecord/Text").GetComponent <Text> (); entrenar = transform.Find("Canvas/Strings/entrenar").GetComponent <Text> (); } volantText = transform.Find("Canvas/Strings/volantText").GetComponent <Text> (); backGround = transform.Find("Canvas/Strings").GetComponent <Image> (); //end transform.find if (nextVehicle) { nextVehicle.onClick = new Button.ButtonClickedEvent(); nextVehicle.onClick.AddListener(() => NextVehicle()); } if (previousVehicle) { previousVehicle.onClick = new Button.ButtonClickedEvent(); previousVehicle.onClick.AddListener(() => PreviousVehicle()); } if (cameraMobileButton) { cameraMobileButton.onClick = new Button.ButtonClickedEvent(); cameraMobileButton.onClick.AddListener(() => Mobile_CameraInput()); } if (enterAndExitButton) { enterAndExitButton.onClick = new Button.ButtonClickedEvent(); enterAndExitButton.onClick.AddListener(() => Mobile_EnterAndExitVehicle()); } vehicleCode = vehicles [currentVehicle].GetComponent <MSVehicleControllerFree> (); EnableOrDisableButtons(vehicleCode.isInsideTheCar); Time.timeScale = 1; enterAndExitBool = false; sceneName = SceneManager.GetActiveScene().name; currentVehicle = startingVehicle; // for (int x = 0; x < vehicles.Length; x++) { if (vehicles [x]) { vehicles [x].GetComponent <MSVehicleControllerFree> ().isInsideTheCar = false; } } playerIsNull = false; if (player) { player.SetActive(false); } else { playerIsNull = true; } if (startInPlayer) { if (player) { player.SetActive(true); } else { startInPlayer = false; if (vehicles.Length > startingVehicle && vehicles [currentVehicle]) { vehicles [startingVehicle].GetComponent <MSVehicleControllerFree> ().isInsideTheCar = true; } } } else { if (vehicles.Length > startingVehicle && vehicles [currentVehicle]) { vehicles [startingVehicle].GetComponent <MSVehicleControllerFree> ().isInsideTheCar = true; } } } }
void SelectVehicle() { vehicleCode = vehicles[currentVehicle].GetComponent <MSVehicleControllerFree>(); CurrentVehicleControl = vehicleCode; }
private void Awake() { // get the car controller m_Car = GetComponent <MSVehicleControllerFree>(); }
void Awake() { error = false; CheckEqualKeyCodes(); autonomousObject = GameObject.Find("/Autonomous").GetComponent <AutonomousScript>(); MSSceneControllerFree[] sceneControllers = FindObjectsOfType(typeof(MSSceneControllerFree)) as MSSceneControllerFree[]; if (sceneControllers.Length > 1) { Debug.LogError("Only one controller is allowed per scene, otherwise the controllers would conflict with each other."); error = true; for (int x = 0; x < sceneControllers.Length; x++) { sceneControllers [x].gameObject.SetActive(false); } } if (startingVehicle >= vehicles.Length) { error = true; Debug.LogError("Vehicle selected to start does not exist in the 'vehicles' list"); } if (vehicles.Length == 0) { error = true; Debug.LogError("There is no vehicle in the scene or no vehicle has been associated with the controller."); } for (int x = 0; x < vehicles.Length; x++) { if (vehicles [x]) { if (!vehicles [x].GetComponent <MSVehicleControllerFree> ()) { error = true; Debug.LogError("The vehicle associated with the index " + x + " does not have the 'MSVehicleController' component. So it will be disabled."); } } else { error = true; Debug.LogError("No vehicle was associated with the index " + x + " of the vehicle list."); } } if (error) { for (int x = 0; x < vehicles.Length; x++) { if (vehicles [x]) { MSVehicleControllerFree component = vehicles [x].GetComponent <MSVehicleControllerFree> (); if (component) { component.disableVehicle = true; } vehicles [x].SetActive(false); } } return; } else { vehicleCode = vehicles [currentVehicle].GetComponent <MSVehicleControllerFree> (); Time.timeScale = 1; sceneName = SceneManager.GetActiveScene().name; currentVehicle = startingVehicle; // for (int x = 0; x < vehicles.Length; x++) { if (vehicles [x]) { vehicles [x].GetComponent <MSVehicleControllerFree> ().isInsideTheCar = false; } } if (vehicles.Length > startingVehicle && vehicles [currentVehicle]) { vehicles [startingVehicle].GetComponent <MSVehicleControllerFree> ().isInsideTheCar = true; } } }