public List <DailyMustDoInfo> GetDailyMustDoItemByType(MustDoType _type) { Dictionary <int, DailyMustDoInfo> livelyDic = new Dictionary <int, DailyMustDoInfo>(); FDictionary livelyRefTable = ConfigMng.Instance.GetLivelyRefTable(); foreach (var item in livelyRefTable.Values) { LivelyRef livelyRef = item as LivelyRef; if (livelyRef != null && livelyRef.type == (int)_type) { DailyMustDoInfo doInfo = null; if (CurLivelyDic.ContainsKey(livelyRef.id)) { doInfo = new DailyMustDoInfo(CurLivelyDic[livelyRef.id]); //有后台数据 } else { doInfo = new DailyMustDoInfo(livelyRef.id); //没有后台数据 } if (livelyDic.ContainsKey(doInfo.Sort)) { livelyDic[doInfo.Sort].UpdateBySort(doInfo); //同类型的只显示一个 } else { livelyDic[doInfo.Sort] = doInfo; } } } List <DailyMustDoInfo> livelyList = new List <DailyMustDoInfo>(livelyDic.Values); livelyList.Sort(SortMustDoInfo); return(livelyList); }
public void UpdateBySort(DailyMustDoInfo doInfo) { if (doInfo.Sort == Sort) { if ((this.MustDoState == RewardState.CANGET && doInfo.MustDoState == RewardState.CANGET) || (this.MustDoState == RewardState.CANTGET && doInfo.MustDoState == RewardState.CANTGET)) { if (TotalTimes > doInfo.TotalTimes) //都是可领取or不可领取状态,显示完成需求小的 { serverData = doInfo.serverData; ID = doInfo.ID; refData = null; } } else if (this.MustDoState == RewardState.HAVEGOT && doInfo.MustDoState == RewardState.HAVEGOT) { if (TotalTimes < doInfo.TotalTimes) //都是已领取状态,显示完成需求大的 { serverData = doInfo.serverData; ID = doInfo.ID; refData = null; } } else if (doInfo.MustDoState == RewardState.CANGET) { //哪个能领取显示哪个 serverData = doInfo.serverData; ID = doInfo.ID; refData = null; } else if (this.MustDoState == RewardState.CANGET) { //不变 } else { if (TotalTimes < doInfo.TotalTimes) //显示完成需求大的 { serverData = doInfo.serverData; ID = doInfo.ID; refData = null; } } } }