private bool FilterAndInitialize(List <Settlement_Achievement.EAchievementMedalType> list)
        {
            Dictionary <int, SysSummonersAchievementVo> dictionary = new Dictionary <int, SysSummonersAchievementVo>();

            foreach (Settlement_Achievement.EAchievementMedalType current in list)
            {
                int num = (int)current;
                SysSummonersAchievementVo dataById = BaseDataMgr.instance.GetDataById <SysSummonersAchievementVo>(num.ToString());
                if (dataById != null)
                {
                    if (dictionary.ContainsKey(dataById.type))
                    {
                        if (dataById.priority > dictionary[dataById.type].priority)
                        {
                            dictionary[dataById.type] = dataById;
                        }
                    }
                    else
                    {
                        dictionary.Add(dataById.type, dataById);
                    }
                }
            }
            if (dictionary.Count == 0)
            {
                return(false);
            }
            List <SysSummonersAchievementVo> list2 = dictionary.Values.ToList <SysSummonersAchievementVo>();

            if (list2.Count > 1)
            {
                list2.Sort(new Comparison <SysSummonersAchievementVo>(this.AchiVo_SortByPriority));
            }
            if (list2.Count >= 3)
            {
                SysSummonersAchievementVo[] array = list2.ToArray();
                SysSummonersAchievementVo   sysSummonersAchievementVo = array[1];
                array[1] = array[0];
                array[0] = sysSummonersAchievementVo;
                list2    = array.ToList <SysSummonersAchievementVo>();
            }
            this.AddMedals(list2);
            return(true);
        }
 private int AchiVo_SortByPriority(SysSummonersAchievementVo a, SysSummonersAchievementVo b)
 {
     return(b.priority.CompareTo(a.priority));
 }
        private void SetDescribe()
        {
            string name = this.mCenterOnChild.centeredObject.name;
            SysSummonersAchievementVo dataById = BaseDataMgr.instance.GetDataById <SysSummonersAchievementVo>(name);
            int num = 0;

            this.mMedalName.text = LanguageManager.Instance.GetStringById(dataById.name);
            PvpTeamInfo   pvpTeamInfo   = ModelManager.Instance.Get_Settle_PvpTeamInfo();
            string        userId        = ModelManager.Instance.Get_userData_X().UserId;
            PlayerCounter playerCounter = null;

            pvpTeamInfo.unitCounters.TryGetValue(userId, out playerCounter);
            int id = dataById.id;

            switch (id)
            {
            case 3001:
                this.mShine.mainTexture = ResourceManager.Load <Texture>("Light_default", true, true, null, 0, false);
                if (this.homeKdaData != null)
                {
                    num  = ((playerCounter == null) ? 1 : playerCounter.extKillCount[2]);
                    num += this.homeKdaData.doublekill;
                }
                break;

            case 3002:
                this.mShine.mainTexture = ResourceManager.Load <Texture>("Light_purple", true, true, null, 0, false);
                if (this.homeKdaData != null)
                {
                    num  = ((playerCounter == null) ? 1 : playerCounter.extKillCount[3]);
                    num += this.homeKdaData.triplekill;
                }
                break;

            case 3003:
                this.mShine.mainTexture = ResourceManager.Load <Texture>("Light_gold", true, true, null, 0, false);
                if (this.homeKdaData != null)
                {
                    num  = ((playerCounter == null) ? 1 : playerCounter.extKillCount[4]);
                    num += this.homeKdaData.quadrakill;
                }
                break;

            case 3004:
                this.mShine.mainTexture = ResourceManager.Load <Texture>("Light_gold", true, true, null, 0, false);
                if (this.homeKdaData != null)
                {
                    num  = ((playerCounter == null) ? 1 : playerCounter.extKillCount[5]);
                    num += this.homeKdaData.pentakill;
                }
                break;

            default:
                if (id != 1001)
                {
                    if (id != 2001)
                    {
                        this.mShine.mainTexture = ResourceManager.Load <Texture>("Light_default", true, true, null, 0, false);
                    }
                    else
                    {
                        this.mShine.mainTexture = ResourceManager.Load <Texture>("Light_purple", true, true, null, 0, false);
                        if (this.homeKdaData != null)
                        {
                            num  = ((playerCounter == null) ? 1 : playerCounter.extKillCount[104]);
                            num += this.homeKdaData.godlike;
                        }
                    }
                }
                else
                {
                    this.mShine.mainTexture = ResourceManager.Load <Texture>("Light_red", true, true, null, 0, false);
                    if (this.homeKdaData != null)
                    {
                        num = 1 + this.homeKdaData.mvp;
                    }
                }
                break;
            }
            this.mMedalDesc.text = ((num > 0) ? LanguageManager.Instance.GetStringById(dataById.describe).Replace("*", num.ToString()) : LanguageManager.Instance.GetStringById(dataById.describe));
        }