Beispiel #1
0
    bool HandleJoinActionInfo(NetCmdBase obj)
    {
        LC_Cmd_JoinAction ncb     = (LC_Cmd_JoinAction)obj;
        tagActionConfig   pConfig = null;

        if (!FishConfig.Instance.m_ActionInfo.m_ActionMap.TryGetValue(ncb.ActionID, out pConfig))
        {
            return(false);
        }
        RoleActionBase    pBase = CreateAction((EventTargetType)pConfig.EventID);
        tagRoleActionInfo pInfo = new tagRoleActionInfo();

        pInfo.ActionID    = ncb.ActionID;
        pInfo.ActionValue = 0;
        if (pBase == null || !pBase.OnInit(pInfo, this))
        {
            return(false);
        }
        m_ActionMap.Remove(ncb.ActionID);
        m_ActionMap.Add(ncb.ActionID, pBase);
        PlayerRole.Instance.UpdateRoleEventHandle();
        // CheckIsExistsFinishItem();
        tagOnceActionChangeEvent pEvent = new tagOnceActionChangeEvent(ncb.ActionID);

        MsgEventHandle.HandleMsg(pEvent);
        return(true);
    }
Beispiel #2
0
    //bool HandleGetRoleActionInfoFinish(NetCmdBase obj)
    //{
    //    LC_Cmd_GetRoleActionInfoFinish ncb = (LC_Cmd_GetRoleActionInfoFinish)obj;

    //    //CheckIsExistsFinishItem();

    //    return true;
    //}
    //bool HandleActionAllEventFinish(NetCmdBase obj)
    //{
    //    LC_Cmd_ActionAllEventFinish ncb = (LC_Cmd_ActionAllEventFinish)obj;
    //    RoleActionBase pAction = GetAction(ncb.ActionID);
    //    if (pAction == null)
    //    {
    //        SendGetActionInfoByServer(ncb.ActionID);
    //        return true;
    //    }
    //    pAction.SetActionIsFinish();
    //    return true;
    //}
    bool HandleGetActionReward(NetCmdBase obj)
    {
        LC_Cmd_GetActionReward ncb = (LC_Cmd_GetActionReward)obj;

        RoleActionBase           pBase   = GetAction(ncb.ActionID);
        tagActionOnceRewardEvent pReward = null;

        if (pBase != null)
        {
            foreach (tagActionEventConfig var in pBase.pConfig.EventMap.Values)
            {
                if ((var.ID & pBase.pActionInfo.ActionStates) == 0)
                {
                    //为完成的条件
                    pReward = new tagActionOnceRewardEvent(ncb.ActionID, var.ID, var.RewardID);
                    break;
                }
            }
        }

        m_ActionMap.Remove(ncb.ActionID);//将任务移除掉
        // CheckIsExistsFinishItem();
        tagOnceActionChangeEvent pEvent = new tagOnceActionChangeEvent(ncb.ActionID);

        MsgEventHandle.HandleMsg(pEvent);

        if (pReward != null)
        {
            MsgEventHandle.HandleMsg(pReward);

            tagUserOperationEvent pUOM = new tagUserOperationEvent(UserOperateMessage.UOM_Action_GetReward_Sucess);
            MsgEventHandle.HandleMsg(pUOM);
        }
        return(true);
    }
Beispiel #3
0
    public virtual void ChangeActionErrorInfo(tagRoleActionInfo pInfo)
    {
        //客户端向服务器端发送错误的请求的时候 我们重置任务的数据
        pActionInfo = pInfo;
        //m_ActionEventIsFinish = (pConfig.ActionEventInfo.FinishValue <= pActionInfo.ActionValue);
        tagOnceActionChangeEvent pEvent = new tagOnceActionChangeEvent(pActionInfo.ActionID);

        MsgEventHandle.HandleMsg(pEvent);
    }
Beispiel #4
0
    bool HandleDelActionInfo(NetCmdBase obj)
    {
        LC_Cmd_DelAction ncb = (LC_Cmd_DelAction)obj;

        m_ActionMap.Remove(ncb.ActionID);
        //  CheckIsExistsFinishItem();
        tagOnceActionChangeEvent pEvent = new tagOnceActionChangeEvent(ncb.ActionID);

        MsgEventHandle.HandleMsg(pEvent);
        return(true);
    }
Beispiel #5
0
    bool HandleChangeActionInfo(NetCmdBase obj)
    {
        LC_Cmd_GetOnceActionInfo ncb     = (LC_Cmd_GetOnceActionInfo)obj;
        RoleActionBase           pAction = GetAction(ncb.ActionInfo.ActionID);

        if (pAction == null)
        {
            //直接添加
            tagActionConfig pConfig = null;
            if (!FishConfig.Instance.m_ActionInfo.m_ActionMap.TryGetValue(ncb.ActionInfo.ActionID, out pConfig))
            {
                return(false);
            }
            pAction = CreateAction((EventTargetType)pConfig.EventID);
            if (pAction == null || !pAction.OnInit(ncb.ActionInfo, this))
            {
                return(false);
            }
            m_ActionMap.Add(ncb.ActionInfo.ActionID, pAction);
            //  CheckIsExistsFinishItem();
            tagOnceActionChangeEvent pEvent = new tagOnceActionChangeEvent(ncb.ActionInfo.ActionID);
            MsgEventHandle.HandleMsg(pEvent);
            return(true);
        }
        else
        {
            UInt32 ID = (ncb.ActionInfo.ActionStates ^ pAction.pActionInfo.ActionStates);

            pAction.pActionInfo = ncb.ActionInfo;

            // CheckIsExistsFinishItem();
            tagOnceActionChangeEvent pEvent = new tagOnceActionChangeEvent(ncb.ActionInfo.ActionID);
            MsgEventHandle.HandleMsg(pEvent);

            RoleActionBase pBase = GetAction(ncb.ActionInfo.ActionID);
            if (pBase != null && pBase.pConfig.EventMap.ContainsKey(ID))
            {
                tagActionEventConfig     pEventConfig = pBase.pConfig.EventMap[ID];
                tagActionOnceRewardEvent pReward      = new tagActionOnceRewardEvent(ncb.ActionInfo.ActionID, ID, pEventConfig.RewardID);
                MsgEventHandle.HandleMsg(pReward);

                tagUserOperationEvent pUOM = new tagUserOperationEvent(UserOperateMessage.UOM_Action_GetReward_Sucess);
                MsgEventHandle.HandleMsg(pUOM);
            }
            //pAction.ChangeActionErrorInfo(ncb.ActionInfo);
        }
        return(true);
    }
Beispiel #6
0
    public virtual void OnHandleEvent(EventTargetType EventID, UInt32 BindParam, UInt32 Param)
    {
        //if (m_ActionEventIsFinish)
        //    return;
        if (Param == 0)
        {
            return;
        }
        pActionInfo.ActionValue += Param;
        //if (pActionInfo.ActionValue > FishConfig.Instance.m_ActionInfo.m_ActionMap[pActionInfo.ActionID].ActionEventInfo.FinishValue)
        //    pActionInfo.ActionValue = FishConfig.Instance.m_ActionInfo.m_ActionMap[pActionInfo.ActionID].ActionEventInfo.FinishValue;
        //m_ActionEventIsFinish = (pConfig.ActionEventInfo.FinishValue <= pActionInfo.ActionValue);
        tagOnceActionChangeEvent pEvent = new tagOnceActionChangeEvent(pActionInfo.ActionID);

        MsgEventHandle.HandleMsg(pEvent);
    }