示例#1
0
    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);
    }
示例#2
0
 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;
             }
         }
     }
 }