public void StartRace(bool raceIsInProgress) { raceController = GameObject.Find("RaceController").GetComponent <RaceController>(); CreateRacers(raceController); //Set up the race controller with settings from the menu raceController.settings = settings; CameraOverview overviewCam = FindObjectOfType <CameraOverview>(); if (overviewCam != null) { overviewCam.camera.enabled = false; overviewCam.GetComponent <AudioListener>().enabled = false; } if (!raceIsInProgress) { raceController.StartRace(); } //GameObject.Find ("CameraMap").GetComponent<MapCamera>().targetObject = GameObject.Find ("CameraPivot_BallPlayer_Sanic(Clone)"); GameObject.Find("CameraMap").camera.enabled = true; GameSettings.Apply(false); if (raceIsInProgress) { GameObject.FindObjectOfType <Client>().GoToSpectating(); GameObject.FindObjectOfType <MenuPause>().spectating = true; } Destroy(this.gameObject); }
// Update is called once per frame void Update() { if (teacherState != TeacherState.Ended) { Bike bike = GameManager.instance.GetBike(); if (Math.Abs(bike.GetPosition().x - this.transform.position.x) < detectDistance) { if (BikeSounds.instance.HornIsPlaying()) { teacherState = TeacherState.Moving; } if (teacherState == TeacherState.Moving) { timeElapsed += Time.deltaTime; float distCovered = (timeElapsed) * speed; float fracJourney = distCovered / journeyLength; this.animation.enabled = true; transform.position = Vector3.Lerp(startMarker, endMarker, fracJourney); this.collider.enabled = false; } } if (CameraOverview.EqualVectors(this.transform.position, new Vector3(initialPos.x, initialPos.y, initialPos.z + zDistance))) { this.animation.enabled = false; teacherState = TeacherState.Ended; spriteRenderer.sprite = sprite; } } }