public List <Task> GetTaskList(Task.TaskType tt) { List <Task> tList = new List <Task>(); foreach (Task task in m_TaskList) { if (task.M_TaskType == tt) { tList.Add(task); } } return(tList); }
/// <summary> /// /// </summary> /// <param name="taskType"></param> /// <returns></returns> public Task[] FindAll(Task.TaskType taskType) { Task[] allTasks = this.FindAll(); IList <Task> newTasks = new List <Task>(); foreach (Task task in allTasks) { if (task.Type == taskType) { newTasks.Add(task); } } Task[] taskArr = new Task[newTasks.Count]; newTasks.CopyTo(taskArr, 0); return(taskArr); }
/// <summary> /// 打开任务面板 默认显示主线任务 /// 点击其他类型任务时 先隐藏上一个任务列表 /// </summary> public void UpdateTaskListItemPanel(Task.TaskType taskType) { if (m_Items == null) { m_Items = new Dictionary <Task.TaskType, List <TaskItem> >(); } //隐藏上一个任务列表 if (m_Items.TryGetTool(m_Current) != null) { foreach (TaskItem ti in m_Items.TryGetTool(m_Current)) { ti.Hide(); } } List <Task> tList = TaskManager.Instance.GetTaskList(taskType); if (tList.Count == 0) { return; } //显示列表 List <TaskItem> tiList = new List <TaskItem>(); if (m_Items.ContainsKey(taskType)) { foreach (TaskItem ti in m_Items.TryGetTool(taskType)) { ti.Show(null, this); } } else { foreach (Task task in tList) { TaskItem ti = Instantiate(Resources.Load <GameObject>("UIPanel/TaskItem")).GetComponent <TaskItem>(); ti.transform.SetParent(m_TaskItemList); ti.Show(task, this); tiList.Add(ti); } m_Items.Add(taskType, tiList); } m_Current = taskType;//更新当前显示的任务类型 }