/** * 请求任务列表 */ public void requestTaskList() { TaskHandle.getTaskList((error, result) => { if (error == null) { userTask = result; foreach (UserTaskModel task in userTask.list) { PKTaskStatus status = (PKTaskStatus)Enum.Parse(typeof(PKTaskStatus), task.task_type_id.ToString()); switch (status) { case PKTaskStatus.PKTaskTodayStatus: { todayTasks.Add(task); break; } case PKTaskStatus.PKTaskWeekStatus: { weekTasks.Add(task); break; } case PKTaskStatus.PKTaskAchievementStatus: { achievementTasks.Add(task); break; } case PKTaskStatus.PKTaskChallengeStatus: { challengeTasks.Add(task); break; } } } // 对任务进行排序 todayTasks = sortTask(todayTasks); weekTasks = sortTask(weekTasks); achievementTasks = sortTask(achievementTasks); challengeTasks = sortTask(challengeTasks); currentTasks = challengeTasks.ToArray(); currentStatus = PKTaskStatus.PKTaskChallengeStatus; loadTaskView(false); } }); }
/** * 点击任务类型 */ public void taskItemClick(int index) { PKTaskStatus status = (PKTaskStatus)Enum.Parse(typeof(PKTaskStatus), index.ToString()); bool isCurrentStatus = false; if (currentStatus == status) { isCurrentStatus = true; } switch (status) { case PKTaskStatus.PKTaskTodayStatus: { currentTasks = todayTasks.ToArray(); currentStatus = PKTaskStatus.PKTaskTodayStatus; break; } case PKTaskStatus.PKTaskWeekStatus: { currentTasks = weekTasks.ToArray(); currentStatus = PKTaskStatus.PKTaskWeekStatus; break; } case PKTaskStatus.PKTaskAchievementStatus: { currentTasks = achievementTasks.ToArray(); currentStatus = PKTaskStatus.PKTaskAchievementStatus; break; } case PKTaskStatus.PKTaskChallengeStatus: { currentTasks = challengeTasks.ToArray(); currentStatus = PKTaskStatus.PKTaskChallengeStatus; break; } } loadTaskView(isCurrentStatus); }
/** * 删除领取的任务,更新服务器返回来的任务数据 */ public void refreshNewTask(UserTaskModel receiveedTask, UserTaskModel newTask) { PKTaskStatus status = (PKTaskStatus)Enum.Parse(typeof(PKTaskStatus), receiveedTask.task_type_id.ToString()); switch (status) { case PKTaskStatus.PKTaskTodayStatus: { todayTasks.Remove(receiveedTask); if (newTask.task_id != 0) { todayTasks.Add(newTask); } currentTasks = todayTasks.ToArray(); break; } case PKTaskStatus.PKTaskWeekStatus: { weekTasks.Remove(receiveedTask); if (newTask.task_id != 0) { weekTasks.Add(newTask); } currentTasks = weekTasks.ToArray(); break; } case PKTaskStatus.PKTaskAchievementStatus: { achievementTasks.Remove(receiveedTask); if (newTask.task_id != 0) { achievementTasks.Add(newTask); } currentTasks = achievementTasks.ToArray(); break; } case PKTaskStatus.PKTaskChallengeStatus: { challengeTasks.Remove(receiveedTask); if (newTask.task_id != 0) { challengeTasks.Add(newTask); } currentTasks = challengeTasks.ToArray(); break; } } if (newTask.task_id != 0) // 如果有任务直接刷新当前任务的view { GameObject taskView = GameObject.Find("taskView" + receiveedTask.task_id); taskView.name = "taskView" + newTask.task_id; setTaskView(taskView, newTask); } else // 没有任务,删除掉当前任务的view { loadTaskView(true); } }