Exemple #1
0
    bool HandleJoinTaskInfo(NetCmdBase obj)
    {
        LC_Cmd_JoinTask ncb     = (LC_Cmd_JoinTask)obj;
        tagTaskConfig   pConfig = null;

        if (!FishConfig.Instance.m_TaskInfo.m_TaskMap.TryGetValue(ncb.TaskID, out pConfig))
        {
            return(false);
        }
        RoleTaskBase    pBase = CreateTask((EventTargetType)pConfig.TaskEventInfo.EventID);
        tagRoleTaskInfo pInfo = new tagRoleTaskInfo();

        pInfo.TaskID    = ncb.TaskID;
        pInfo.TaskValue = 0;
        if (pBase == null || !pBase.OnInit(pInfo, this))
        {
            return(false);
        }
        m_TaskMap.Add(ncb.TaskID, pBase);
        PlayerRole.Instance.UpdateRoleEventHandle();
        CheckIsExistsFinishItem();
        tagOnceTaskChangeEvent pEvent = new tagOnceTaskChangeEvent(ncb.TaskID);

        MsgEventHandle.HandleMsg(pEvent);
        return(true);
    }
Exemple #2
0
    bool HandleChangeTaskInfo(NetCmdBase obj)
    {
        LC_Cmd_GetOnceTaskInfo ncb   = (LC_Cmd_GetOnceTaskInfo)obj;
        RoleTaskBase           pTask = GetTask(ncb.TaskInfo.TaskID);

        if (pTask == null)
        {
            //直接添加
            tagTaskConfig pConfig = null;
            if (!FishConfig.Instance.m_TaskInfo.m_TaskMap.TryGetValue(ncb.TaskInfo.TaskID, out pConfig))
            {
                return(false);
            }
            pTask = CreateTask((EventTargetType)pConfig.TaskEventInfo.EventID);
            if (pTask == null || !pTask.OnInit(ncb.TaskInfo, this))
            {
                return(false);
            }
            m_TaskMap.Add(ncb.TaskInfo.TaskID, pTask);
            CheckIsExistsFinishItem();
            tagOnceTaskChangeEvent pEvent = new tagOnceTaskChangeEvent(ncb.TaskInfo.TaskID);
            MsgEventHandle.HandleMsg(pEvent);

            return(true);
        }
        else
        {
            CheckIsExistsFinishItem();
            pTask.ChangeTaskErrorInfo(ncb.TaskInfo);
        }
        return(true);
    }
Exemple #3
0
    bool HandleGetRoleTaskInfo(NetCmdBase obj)
    {
        LC_Cmd_GetRoleTaskInfo ncb = (LC_Cmd_GetRoleTaskInfo)obj;

        if ((ncb.States & FishDataInfo.MsgBegin) != 0)
        {
            m_TaskMap.Clear();
        }
        for (UInt16 i = 0; i < ncb.Sum; ++i)
        {
            tagTaskConfig pConfig = null;
            if (!FishConfig.Instance.m_TaskInfo.m_TaskMap.TryGetValue(ncb.Array[i].TaskID, out pConfig))
            {
                continue;
            }
            RoleTaskBase pBase = CreateTask((EventTargetType)pConfig.TaskEventInfo.EventID);
            if (pBase == null || !pBase.OnInit(ncb.Array[i], this))
            {
                continue;
            }
            m_TaskMap.Add(ncb.Array[i].TaskID, pBase);
        }
        if ((ncb.States & FishDataInfo.MsgEnd) != 0)
        {
            m_IsLoadInfo = true;
            CheckIsExistsFinishItem();
            tagTaskChangeEvent pEvent = new tagTaskChangeEvent();
            MsgEventHandle.HandleMsg(pEvent);
        }
        return(true);
    }
Exemple #4
0
    private bool SendGetTaskReward(Byte TaskID)
    {
        //判断任务是否完成了
        RoleTaskBase pTask = GetTask(TaskID);

        if (pTask == null)
        {
            tagUserOperationEvent pUOM = new tagUserOperationEvent(UserOperateMessage.UOM_Task_GetReward_Failed_1);
            MsgEventHandle.HandleMsg(pUOM);
            return(false);
        }
        if (!pTask.m_TaskEventIsFinish)
        {
            tagUserOperationEvent pUOM = new tagUserOperationEvent(UserOperateMessage.UOM_Task_GetReward_Failed_2);
            MsgEventHandle.HandleMsg(pUOM);
            return(false);
        }
        CL_Cmd_GetTaskReward ncb = new CL_Cmd_GetTaskReward();

        ncb.SetCmdType(NetCmdType.CMD_CL_GetTaskReward);
        ncb.TaskID = TaskID;
        NetServices.Instance.Send <CL_Cmd_GetTaskReward>(ncb);


        return(true);
    }
Exemple #5
0
    public void UpdateTaskProgress(byte taskID)
    {
        if (WindObj.activeSelf != true)
        {
            return;
        }
        if (PlayerRole.Instance.TaskManager.GetTaskArray() == null)
        {
            return;
        }
        for (byte i = 0; i < m_TaskList.Count;)
        {
            if (m_TaskList[i].TaskID == taskID)
            {
                if (PlayerRole.Instance.TaskManager.GetTaskArray().ContainsKey(taskID) == false)    //领取奖励后删除任务
                {
                    //显示完成任务的奖励
                    if (int256Function.GetBitStates(PlayerRole.Instance.RoleInfo.RoleMe.GetTaskStates(), taskID))
                    {
                        GlobalHallUIMgr.Instance.ShowTipBox_0(TipBox_0.TipBox_0_ZiTi.Mission, 2f, FishConfig.Instance.m_TaskInfo.m_TaskMap[taskID].RewardID);
                    }
                    TaskItem item = m_TaskList[i];
                    m_Scroll.m_grid.RemoveChild(item.m_BaseTrans);
                    item.ShutDown();
                    Utility.ListRemoveAt(m_TaskList, i);
                }
                else
                {
                    RoleTaskBase pBase        = PlayerRole.Instance.TaskManager.GetTaskArray()[taskID];
                    uint         curTaskValue = PlayerRole.Instance.TaskManager.GetTask(taskID).pTaskInfo.TaskValue;
                    uint         TaskValueMax = pBase.pConfig.TaskEventInfo.FinishValue;
                    if (pBase.m_TaskEventIsFinish)
                    {
                        m_TaskList[i].UpdateTaskBg(m_TaskBgTex[1]);
                    }
                    else
                    {
                        m_TaskList[i].UpdateTaskBg(m_TaskBgTex[0]);
                    }

                    m_TaskList[i].UpdateTaskProgress(curTaskValue, TaskValueMax, pBase.m_TaskEventIsFinish);
                }

                break;
            }
            else
            {
                i++;
                //新增一个任务
                if ((i == m_TaskList.Count) && (PlayerRole.Instance.TaskManager.GetTaskArray().ContainsKey(taskID)))
                {
                    // InitTaskItem(PlayerRole.Instance.TaskManager.GetTaskArray()[taskID]);
                    UpdateTaskDate();
                }
            }
        }
    }
Exemple #6
0
    public RoleTaskBase GetTask(Byte TaskID)
    {
        RoleTaskBase pBase = null;

        if (!m_TaskMap.TryGetValue(TaskID, out pBase))
        {
            return(null);
        }
        return(pBase);
    }
Exemple #7
0
    //bool HandleGetRoleTaskInfoFinish(NetCmdBase obj)
    //{
    //    LC_Cmd_GetRoleTaskInfoFinish ncb = (LC_Cmd_GetRoleTaskInfoFinish)obj;

    //    return true;
    //}
    bool HandleTaskAllEventFinish(NetCmdBase obj)
    {
        LC_Cmd_TaskAllEventFinish ncb = (LC_Cmd_TaskAllEventFinish)obj;
        RoleTaskBase pTask            = GetTask(ncb.TaskID);

        if (pTask == null)
        {
            SendGetTaskInfoByServer(ncb.TaskID);
            return(true);
        }
        pTask.SetTaskIsFinish();
        m_IsExistsFinishTask = true;
        tagOnceTaskChangeEvent pEvent = new tagOnceTaskChangeEvent(ncb.TaskID);

        MsgEventHandle.HandleMsg(pEvent);

        tagOnceTaskEventFinishEvent pFinish = new tagOnceTaskEventFinishEvent(ncb.TaskID);

        MsgEventHandle.HandleMsg(pFinish);
        return(true);
    }
Exemple #8
0
    void InitTaskItem(RoleTaskBase value)
    {
        TaskItem item = new TaskItem();

        item.Init(m_Scroll.m_BaseChild, false);
        tagTaskStrInfo taskStrInfo  = FishConfig.Instance.m_TaskInfo.m_TaskStr[value.pConfig.TaskID];
        string         taskName     = taskStrInfo.TaskName;
        string         taskDes      = taskStrInfo.TaskDec;
        uint           curTaskValue = PlayerRole.Instance.TaskManager.GetTask(value.pConfig.TaskID).pTaskInfo.TaskValue;
        uint           TaskValueMax = value.pConfig.TaskEventInfo.FinishValue;
        tagRewardOnce  pOnce        = FishConfig.Instance.GetRewardOnceByID(value.pConfig.RewardID);

        item.SetTaskDate(pOnce, value.pConfig.TaskID, taskDes, taskName, taskStrInfo.TaskIcon);
        item.UpdateTaskProgress(curTaskValue, TaskValueMax, value.m_TaskEventIsFinish);
        if (value.m_TaskEventIsFinish)
        {
            item.UpdateTaskBg(m_TaskBgTex[1]);
        }
        else
        {
            item.UpdateTaskBg(m_TaskBgTex[0]);
        }
        m_TaskList.Add(item);
    }