Пример #1
0
    public void SetValues(Manager.KartInfo KI)
    {
        BG.gameObject.SetActive(true);
        Place.gameObject.SetActive(true);
        Driver.gameObject.SetActive(true);
        Time.gameObject.SetActive(true);

        Place.text  = KI.Place.ToString() + TextFormatter.GetPlaceSuffix(KI.Place); //TextFormatter.GetPlaceSuffix(KI.Place);
        Driver.text = KI.Controller.ToString();                                     //TextFormatter.GetDriverName(KI.Controller);
        Time.text   = TextFormatter.GetTimeFormatted(KI.Time);

        if (KI.Controller != KartController.Driver.AI)
        {
            BG.color = HighlightColor;
        }
        else
        {
            BG.color = NormalColor;
        }
    }
Пример #2
0
    public void CheckpointHit(int Index, KartController KC)
    {
        if (Index == 0)
        {
            KC.CheckpointIndex = 0;
            KC.LastLapTime     = SecondsPassed - KC.LapOffset;
            StartCoroutine(Scuffed(KC));
            KC.LapOffset = SecondsPassed;
            KC.LapCount++;

            KC.Score++;
            KC.Place = GetPlace(KC);

            if (KC.LapCount == RaceData.Laps)
            {
                Manager.KartInfo KI = new Manager.KartInfo();
                KI.Place      = M.ScoreboardInfo.Count + 1;
                KI.Controller = KC.InControl;
                KI.Time       = KC.LapOffset;

                M.ScoreboardInfo.Add(KI);
                if (KC.InControl != KartController.Driver.AI)
                {
                    KC.CameraEmpty.GetComponent <PlayerCamera>().Spectate();
                    PlayersFinished++;

                    if (PlayersFinished == RaceData.PlayerCount)
                    {
                        for (int i = 0; i < 64; i++)
                        {
                            if (i < M.ScoreboardInfo.Count)
                            {
                                M.ScoreboardUIS[i].SetValues(M.ScoreboardInfo[i]);
                            }
                            else if (i < RaceData.PlayerCount + RaceData.AICount)
                            {
                                M.ScoreboardUIS[i].SetNotFinished(i + 1);
                            }
                            else
                            {
                                M.ScoreboardUIS[i].SetHidden();
                            }
                        }

                        M.MM.SetScreen("Results");
                    }
                }
                else
                {
                    if (PlayersFinished == RaceData.PlayerCount) //if game finished
                    {
                        M.ScoreboardUIS[M.ScoreboardInfo.Count - 1].SetValues(M.ScoreboardInfo[M.ScoreboardInfo.Count - 1]);
                    }
                }

                Destroy(KC.gameObject);
            }
        }
        else
        {
            KC.CheckpointIndex++;
            KC.Score++;
            KC.Place = GetPlace(KC);
        }
    }