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