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;
         }
     }
 }
Beispiel #2
0
    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();
        }
    }