private void Update() { if (RaceOn) { RaceEndCheck = 0; RaceTime = Time.time - RaceStartTime; TimeText_Cockpit.text = RaceTime.ToString(); } else { bool TwoSecAfterRace = RaceEndCheck > 2f; if (FinishedRace && TwoSecAfterRace)//send the record update event 2 seconds after finishing the race so that the record synced string has time to sync before updating { FinishedRace = false; if (InEditor) { CurrentCourse.UpdateTimes(); } else { CurrentCourse.SendCustomNetworkEvent(VRC.Udon.Common.Interfaces.NetworkEventTarget.All, "UpdateTimes"); } TimeText_Cockpit.text = LastTime.ToString(); } else if (!TwoSecAfterRace) { RaceEndCheck += Time.deltaTime; TimeText_Cockpit.text = LastTime.ToString(); } else { TimeText_Cockpit.text = string.Empty; } } }
void Interact() { if (CurrentCourseSelection != -1) { Races[CurrentCourseSelection].RaceObjects.SetActive(false); } if (CurrentCourseSelection == Races.Length - 1) { CurrentCourseSelection = -1; } else { CurrentCourseSelection++; } if (CurrentCourseSelection != -1)//-1 = all races disabled { RaceCourseAndScoreboard race = Races[CurrentCourseSelection].GetComponent <RaceCourseAndScoreboard>(); race.RaceObjects.SetActive(true); race.UpdateTimes(); if (CurrentCourseSelection == 0) { foreach (RacingTrigger RaceTrig in RacingTriggers) { RaceTrig.gameObject.SetActive(true); } } } else { foreach (RacingTrigger RaceTrig in RacingTriggers) { RaceTrig.gameObject.SetActive(false); } } foreach (RacingTrigger RaceTrig in RacingTriggers) { RaceTrig.SetUpNewRace(); } }