Beispiel #1
0
        public void FinishRace()
        {
            long num = Service.Get <INetworkServicesManager>().GameTimeMilliseconds;

            RaceResults.RaceResultsCategory raceResultsCategory = RaceResults.RaceResultsCategory.Bronze;
            if (localPlayerRaceData.RaceResults.raceResultsCategory == RaceResults.RaceResultsCategory.Incomplete)
            {
                localPlayerRaceData.RaceResults.CompletionTime = num;
                num -= localPlayerRaceData.RaceResults.StartTime;
                raceResultsCategory = ((num <= legendaryTimeMS) ? RaceResults.RaceResultsCategory.Legendary : ((num <= goldTimeMS) ? RaceResults.RaceResultsCategory.Gold : ((num > silverTimeMS) ? RaceResults.RaceResultsCategory.Bronze : RaceResults.RaceResultsCategory.Silver)));
                localPlayerRaceData.RaceResults.trackId = trackId;
            }
            localPlayerRaceData.RaceResults.raceResultsCategory = raceResultsCategory;
            long[] rankTimes = new long[3] {
                silverTimeMS, goldTimeMS, legendaryTimeMS
            };
            dispatcher.DispatchEvent(new RaceGameEvents.RaceFinished(localPlayerRaceData.RaceResults, rankTimes));
            Service.Get <ICPSwrveService>().Action("tube_race_finish", localPlayerRaceData.RaceResults.trackId, num.ToString());
        }
Beispiel #2
0
    private void Start()
    {
        dispatcher           = Service.Get <EventDispatcher>();
        dataEntityCollection = Service.Get <CPDataEntityCollection>();
        dispatcher.DispatchEvent(default(RaceGameEvents.Start));
        DataEntityHandle localPlayerHandle = dataEntityCollection.LocalPlayerHandle;

        if (dataEntityCollection.TryGetComponent(localPlayerHandle, out localPlayerRaceData))
        {
            CompletionTime      = localPlayerRaceData.RaceResults.CompletionTime;
            RaceResultsCategory = localPlayerRaceData.RaceResults.raceResultsCategory;
            return;
        }
        localPlayerRaceData = dataEntityCollection.AddComponent <RaceData>(localPlayerHandle);
        RaceResults raceResults = new RaceResults();

        raceResults.CompletionTime      = 0L;
        raceResults.raceResultsCategory = RaceResults.RaceResultsCategory.Incomplete;
        localPlayerRaceData.RaceResults = raceResults;
    }
Beispiel #3
0
        public void Initialize(long raceTime, RaceResults.RaceResultsCategory category, long[] rankTimes, bool isSelected)
        {
            int index = (int)(3 - (category - 1));

            TrophySpriteSelector.SelectSprite(index);
            string token = "Global.Racing.Rank.Platinum";

            switch (category)
            {
            case RaceResults.RaceResultsCategory.Gold:
                token = "Global.Racing.Rank.Gold";
                break;

            case RaceResults.RaceResultsCategory.Silver:
                token = "Global.Racing.Rank.Silver";
                break;

            case RaceResults.RaceResultsCategory.Bronze:
                token = "Global.Racing.Rank.Bronze";
                break;
            }
            RankText.text = Service.Get <Localizer>().GetTokenTranslation(token);
            int num = (int)(category - 2);

            if (num < 0)
            {
                TimeText.gameObject.SetActive(value: false);
            }
            else
            {
                string arg = default(DateTime).AddMilliseconds(rankTimes[num]).ToString("m:ss.ff");
                TimeText.text = string.Format(Service.Get <Localizer>().GetTokenTranslation("Global.Racing.Time.Under"), arg);
            }
            if (YourTimeText != null)
            {
                DateTime dateTime = default(DateTime).AddMilliseconds(raceTime);
                YourTimeText.text = dateTime.ToString("m:ss.ff");
            }
        }
        private void addRankEntry(long raceTime, RaceResults.RaceResultsCategory category, bool isSelected = false)
        {
            GameObject gameObject = ((!isSelected) ? Object.Instantiate(rankEntryPrefab, RankEntryParent.transform, worldPositionStays: false) : Object.Instantiate(rankEntrySelectedPrefab, RankEntryParent.transform, worldPositionStays: false));

            gameObject.GetComponent <SledRacerFinishPopupRankEntry>().Initialize(raceTime, category, rankTimes, isSelected);
        }