| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 | 
							- using System.Collections.Generic;
 
- using ET;
 
- namespace GFGGame
 
- {
 
-     public class TaskInfo
 
-     {
 
-         public int id;
 
-         public int state;//任务奖励状态 由ConstBonusStatus定义
 
-         public int progress;//进度
 
-     }
 
-     public class DailyTaskDataManager : SingletonBase<DailyTaskDataManager>
 
-     {
 
-         private Dictionary<int, TaskInfo> _taskInfos = new Dictionary<int, TaskInfo>();
 
-         public Dictionary<int, TaskInfo> TaskInfo
 
-         {
 
-             get
 
-             {
 
-                 return _taskInfos;
 
-             }
 
-         }
 
-         private Dictionary<int, int> _livenessBoxInfos = new Dictionary<int, int>();
 
-         public Dictionary<int, int> LivenessBoxInfos
 
-         {
 
-             get
 
-             {
 
-                 return _livenessBoxInfos;
 
-             }
 
-         }
 
-         public void UpdateTaskInfo(int taskId, TaskInfo info)
 
-         {
 
-             if (!_taskInfos.ContainsKey(taskId))
 
-             {
 
-                 _taskInfos.Add(taskId, info);
 
-             }
 
-             else
 
-             {
 
-                 _taskInfos[taskId] = info;
 
-             }
 
-         }
 
-         public void UpdateTaskState(int taskId, int state)
 
-         {
 
-             _taskInfos[taskId].state = state;
 
-         }
 
-         public void UpdateLivenessBoxInfo(int boxId, int state)
 
-         {
 
-             if (!_livenessBoxInfos.ContainsKey(boxId))
 
-             {
 
-                 _livenessBoxInfos.Add(boxId, state);
 
-             }
 
-             else
 
-             {
 
-                 _livenessBoxInfos[boxId] = state;
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// 获取任务列表
 
-         /// </summary>
 
-         /// <returns></returns>
 
-         public List<DailyTaskCfg> GetDailyTaskCfgs()
 
-         {
 
-             List<DailyTaskCfg> cfgs = new List<DailyTaskCfg>();
 
-             foreach (int key in _taskInfos.Keys)
 
-             {
 
-                 DailyTaskCfg cfg = DailyTaskCfgArray.Instance.GetCfg(key);
 
-                 cfgs.Add(cfg);
 
-             }
 
-             cfgs.Sort((DailyTaskCfg a, DailyTaskCfg b) =>
 
-             {
 
-                 int stateA = _taskInfos[a.id].state == 1 ? 1 : -1;
 
-                 int stateB = _taskInfos[b.id].state == 1 ? 1 : -1;
 
-                 if (stateA > stateB) return -1;
 
-                 if (stateB > stateA) return 1;
 
-                 return _taskInfos[a.id].state.CompareTo(_taskInfos[b.id].state);
 
-             });
 
-             return cfgs;
 
-         }
 
-         /// <summary>
 
-         /// 根据任务id获取任务状态
 
-         /// </summary>0未完成,1可领取,2已领取
 
-         /// <param name="taskId"></param>
 
-         /// <returns></returns>
 
-         public int GetTaskStateById(int taskId)
 
-         {
 
-             if (!_taskInfos.ContainsKey(taskId))
 
-             {
 
-                 return 0;
 
-             }
 
-             else
 
-             {
 
-                 return _taskInfos[taskId].state;
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// 根据任务id获取任务进度
 
-         /// </summary>
 
-         /// <param name="taskId"></param>
 
-         /// <returns></returns>
 
-         public int GetTaskProgressById(int taskId)
 
-         {
 
-             if (!_taskInfos.ContainsKey(taskId))
 
-             {
 
-                 return 0;
 
-             }
 
-             else
 
-             {
 
-                 return _taskInfos[taskId].progress;
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// 根据宝箱id获取宝箱状态
 
-         /// </summary>0未完成,1可领取,2已领取
 
-         /// <param name="taskId"></param>
 
-         /// <returns></returns>
 
-         public int GetBoxStateById(int boxId)
 
-         {
 
-             if (!_livenessBoxInfos.ContainsKey(boxId))
 
-             {
 
-                 return 0;
 
-             }
 
-             else
 
-             {
 
-                 return _livenessBoxInfos[boxId];
 
-             }
 
-         }
 
-         public string GetTaskDesc(int taskId)
 
-         {
 
-             DailyTaskCfg taskCfg = DailyTaskCfgArray.Instance.GetCfg(taskId);
 
-             DailyTaskTypeCfg activeRewardCfg = DailyTaskTypeCfgArray.Instance.GetCfg(taskCfg.type);
 
-             switch ((ConstDailyTaskType)activeRewardCfg.id)
 
-             {
 
-                 case ConstDailyTaskType.CompleteInstanceZones:
 
-                     string name = "";
 
-                     name = EctypeCfgArray.Instance.GetCfgsBytype(taskCfg.paramsArr[0])[0].typeName;
 
-                     if (taskCfg.paramsArr.Length > 1)
 
-                     {
 
-                         name = EctypeCfgArray.Instance.GetCfgBytypeAndsubType(taskCfg.paramsArr[0], taskCfg.paramsArr[1]).subName;
 
-                     }
 
-                     return string.Format(activeRewardCfg.desc, taskCfg.count, name);
 
-                 case ConstDailyTaskType.UseItem:
 
-                     ItemCfg cfg = ItemCfgArray.Instance.GetCfg(taskCfg.paramsArr[0]);
 
-                     return string.Format(activeRewardCfg.desc, taskCfg.count, cfg.name);
 
-                 case ConstDailyTaskType.UpgradeCardLvl:
 
-                 case ConstDailyTaskType.PlayLuckBox:
 
-                     return string.Format(activeRewardCfg.desc, taskCfg.count);
 
-             }
 
-             return "";
 
-         }
 
-         /// <summary>
 
-         /// 获取下一个奖励宝箱的活跃度
 
-         /// </summary>
 
-         /// <returns></returns>
 
-         public int GetShowLivenessBoxNum()
 
-         {
 
-             DailyActiveRewardCfg[] cfgs = DailyActiveRewardCfgArray.Instance.dataArray;
 
-             for (int i = 0; i < cfgs.Length; i++)
 
-             {
 
-                 if (!_livenessBoxInfos.ContainsKey(cfgs[i].id) || _livenessBoxInfos[cfgs[i].id] != ConstBonusStatus.GOT)
 
-                 {
 
-                     return cfgs[i].count;
 
-                 }
 
-             }
 
-             int index = cfgs.Length - 1;
 
-             return cfgs[index].count;
 
-         }
 
-     }
 
- }
 
 
  |