Exemplo n.º 1
0
    /**
     * 请求任务列表
     */
    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);
            }
        });
    }
Exemplo n.º 2
0
    /**
     *  点击任务类型
     */
    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);
    }
Exemplo n.º 3
0
    /**
     * 删除领取的任务,更新服务器返回来的任务数据
     */
    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);
        }
    }