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()); }
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; }
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); }