Пример #1
0
    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;
        }
    }
Пример #2
0
    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");
        }