using System.Collections.Generic; namespace GFGGame { public class FieldDataManager : SingletonBase { /// /// 本期主题 /// public int scoreType = 1; public Dictionary _levelIdDic = new Dictionary(); private Dictionary _taskDic = new Dictionary(); /// /// 当前难度 /// public int difficulty = 0; public void UpdateTask(int taskId, int state) { if (!_taskDic.ContainsKey(taskId)) { _taskDic.Add(taskId, state); } else { _taskDic[taskId] = state; } } /// /// 根据挑战难度获取副本配置 /// /// /// public FieldCfg GetFieldCfgByDifficulty(int difficulty) { return FieldCfgArray.Instance.GetCfgs(difficulty)[0]; } /// /// 根据挑战难度获取当前战斗Id /// /// public int GetLevelIdByDifficulty(int difficulty) { if (_levelIdDic.ContainsKey(difficulty)) { return _levelIdDic[difficulty]; } else { FieldCfg cfg = GetFieldCfgByDifficulty(difficulty); return StoryLevelCfgArray.Instance.GetCfgs(cfg.type, cfg.subType, cfg.id)[0].id; } } /// /// 获取任务列表 /// /// public List GetTaskCfgs() { List cfgs = new List(FieldTaskCfgArray.Instance.dataArray); cfgs.Sort((FieldTaskCfg a, FieldTaskCfg b) => { int stateA = GetTaskState(a.id); int stateB = GetTaskState(b.id); return stateA.CompareTo(stateB); }); return cfgs; } /// /// 根据任务ID获取任务状态0可领取1未完成2已领取 /// /// /// public int GetTaskState(int taskId) { return _taskDic.ContainsKey(taskId) ? _taskDic[taskId] : 1; } } }