// Token: 0x0600207C RID: 8316 RVA: 0x0009906C File Offset: 0x0009726C
        private static int CalcAchievementTabCount(string achievementIdentifier)
        {
            int num = -1;

            while (!string.IsNullOrEmpty(achievementIdentifier))
            {
                num++;
                achievementIdentifier = AchievementCardController.GetAchievementParentIdentifier(achievementIdentifier);
            }
            return(num);
        }
Пример #2
0
 // Token: 0x06002175 RID: 8565 RVA: 0x00090F3C File Offset: 0x0008F13C
 private void SetCardCount(int desiredCardCount)
 {
     while (this.cardsList.Count < desiredCardCount)
     {
         AchievementCardController component = UnityEngine.Object.Instantiate <GameObject>(this.achievementCardPrefab, this.container).GetComponent <AchievementCardController>();
         this.cardsList.Add(component);
     }
     while (this.cardsList.Count > desiredCardCount)
     {
         UnityEngine.Object.Destroy(this.cardsList[this.cardsList.Count - 1].gameObject);
         this.cardsList.RemoveAt(this.cardsList.Count - 1);
     }
 }
        // Token: 0x0600207D RID: 8317 RVA: 0x00099094 File Offset: 0x00097294
        public void SetAchievement(string achievementIdentifier, UserProfile userProfile)
        {
            AchievementDef achievementDef = AchievementManager.GetAchievementDef(achievementIdentifier);

            if (achievementDef != null)
            {
                bool flag  = userProfile.HasAchievement(achievementIdentifier);
                bool flag2 = userProfile.CanSeeAchievement(achievementIdentifier);
                if (this.iconImage)
                {
                    this.iconImage.sprite = (flag ? achievementDef.GetAchievedIcon() : achievementDef.GetUnachievedIcon());
                }
                if (this.nameLabel)
                {
                    this.nameLabel.token = (userProfile.CanSeeAchievement(achievementIdentifier) ? achievementDef.nameToken : "???");
                }
                if (this.descriptionLabel)
                {
                    this.descriptionLabel.token = (userProfile.CanSeeAchievement(achievementIdentifier) ? achievementDef.descriptionToken : "???");
                }
                if (this.unlockedImage)
                {
                    this.unlockedImage.gameObject.SetActive(flag);
                }
                if (this.cantBeAchievedImage)
                {
                    this.cantBeAchievedImage.gameObject.SetActive(!flag2);
                }
                if (this.tooltipProvider)
                {
                    string overrideBodyText = "???";
                    if (flag2)
                    {
                        if (flag)
                        {
                            UnlockableDef unlockableDef = UnlockableCatalog.GetUnlockableDef(achievementDef.unlockableRewardIdentifier);
                            if (unlockableDef != null)
                            {
                                string @string = Language.GetString("ACHIEVEMENT_CARD_REWARD_FORMAT");
                                string string2 = Language.GetString(unlockableDef.nameToken);
                                overrideBodyText = string.Format(@string, string2);
                            }
                        }
                        else
                        {
                            string string3 = Language.GetString("ACHIEVEMENT_CARD_REWARD_FORMAT");
                            string arg     = "???";
                            overrideBodyText = string.Format(string3, arg);
                        }
                    }
                    else
                    {
                        AchievementDef achievementDef2 = AchievementManager.GetAchievementDef(achievementDef.prerequisiteAchievementIdentifier);
                        if (achievementDef2 != null)
                        {
                            string string4 = Language.GetString("ACHIEVEMENT_CARD_PREREQ_FORMAT");
                            string string5 = Language.GetString(achievementDef2.nameToken);
                            overrideBodyText = string.Format(string4, string5);
                        }
                    }
                    this.tooltipProvider.titleToken       = (flag2 ? achievementDef.nameToken : "???");
                    this.tooltipProvider.overrideBodyText = overrideBodyText;
                }
                if (this.tabLayoutElement)
                {
                    this.tabLayoutElement.preferredWidth = (float)AchievementCardController.CalcAchievementTabCount(achievementIdentifier) * this.tabWidth;
                }
            }
        }