public void SetPlayerData(PartyGameEndGamePlayerData playerData) { DataEntityHandle handle = Service.Get <CPDataEntityCollection>().FindEntity <SessionIdData, long>(playerData.PlayerId); if (Service.Get <CPDataEntityCollection>().TryGetComponent(handle, out DisplayNameData component)) { PlayerNameText.text = component.DisplayName; } PlayerIcon.SelectSprite(playerData.PlayerNum); SelectedBG.GetComponent <Image>().enabled = playerData.IsLocalPlayer; TrophyIcon.SetActive(playerData.Placement == 0); TrophyAnimator.enabled = (playerData.IsLocalPlayer && playerData.Placement == 0); if (playerData.HasScore) { ScoreText.text = playerData.Score.ToString(); } if (FirstPlaceEffects != null) { FirstPlaceEffects.SetActive(playerData.IsLocalPlayer && playerData.Placement == 0); } if (playerData.Placement == -1) { if (playerData.HasScore) { ScoreText.gameObject.SetActive(value: false); ScoreBG.color = fadeColor; } PlayerIcon.GetComponent <Image>().color = fadeColor; } }
public void SetPlayerResults(PartyGameEndGamePlayerData[] orderedPlayerData, PartyGameDefinition definition, long gameSessionId) { localPlayerData = default(PartyGameEndGamePlayerData); this.gameSessionId = gameSessionId; for (int i = 0; i < orderedPlayerData.Length; i++) { if (orderedPlayerData[i].IsLocalPlayer) { localPlayerData = orderedPlayerData[i]; break; } } string token = WinTitleToken; switch ((localPlayerData.Placement == -1) ? PlayerPlacementType.LOSS : getLocalPlayerPlacementType(orderedPlayerData)) { case PlayerPlacementType.WIN: if (!string.IsNullOrEmpty(WinSFXTrigger)) { EventManager.Instance.PostEvent(WinSFXTrigger, EventAction.PlaySound); } break; case PlayerPlacementType.LOSS: if (!string.IsNullOrEmpty(LossSFXTrigger)) { EventManager.Instance.PostEvent(LossSFXTrigger, EventAction.PlaySound); } token = LoseTitleToken; break; case PlayerPlacementType.TIE: if (!string.IsNullOrEmpty(TieSFXTrigger)) { EventManager.Instance.PostEvent(TieSFXTrigger, EventAction.PlaySound); } token = TieTitleToken; break; } TitleText.text = localizer.GetTokenTranslation(token); Reward reward = null; for (int i = 0; i < definition.Rewards.Count; i++) { if (definition.Rewards[i].Placement == (PartyGameEndPlacement)localPlayerData.Placement) { reward = definition.Rewards[i].Reward.ToReward(); } } if (reward != null) { RewardsPanel.SetActive(value: true); if (reward.TryGetValue(out CoinReward rewardable) && !rewardable.IsEmpty()) { CoinsText.text = rewardable.Coins.ToString(); } else { CoinsPanel.SetActive(value: false); Seperator.SetActive(value: false); } if (reward.TryGetValue(out MascotXPReward rewardable2)) { using (Dictionary <string, int> .ValueCollection.Enumerator enumerator = rewardable2.XP.Values.GetEnumerator()) { if (enumerator.MoveNext()) { int current = enumerator.Current; XpText.text = current.ToString(); } } } else { XpPanel.SetActive(value: false); Seperator.SetActive(value: false); } ClaimButtonText.text = localizer.GetTokenTranslation("Rewards.RewardPopupScreen.ClaimButton"); }