Example #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);
    }
Example #2
0
    void ShowFinshActivity(tagActionConfig pMap)
    {
        byte Indx = 0;

        foreach (KeyValuePair <uint, tagActionEventConfig> map in pMap.EventMap)
        {
            m_LevelNodeItem[Indx].m_LevelNodeBtn.isEnabled = false;
            m_LevelNodeItem[Indx].m_LevelBg.spriteName     = "Level_Bg1";
            m_LevelNodeItem[Indx].m_LightObj.SetActive(true);
            m_LevelNodeItem[Indx].m_LevelLabel.text = map.Value.FinishValue.ToString() + "  级";
            switch (Indx)
            {
            case 0:
                ChangeButtonBg(m_LevelNodeItem[Indx].m_LevelNodeBtn, "Activity_Level5_Btn0");
                break;

            case 1:
                ChangeButtonBg(m_LevelNodeItem[Indx].m_LevelNodeBtn, "Activity_Level10_Btn0");
                break;

            case 2:
                ChangeButtonBg(m_LevelNodeItem[Indx].m_LevelNodeBtn, "Activity_Level15_Btn0");
                break;

            case 3:
                ChangeButtonBg(m_LevelNodeItem[Indx].m_LevelNodeBtn, "Activity_Level20_Btn0");
                break;
            }
            ++Indx;
        }
    }
Example #3
0
    bool HandleGetRoleActionInfo(NetCmdBase obj)
    {
        LC_Cmd_GetRoleActionInfo ncb = (LC_Cmd_GetRoleActionInfo)obj;

        if ((ncb.States & FishDataInfo.MsgBegin) != 0)
        {
            m_ActionMap.Clear();
        }
        for (UInt16 i = 0; i < ncb.Sum; ++i)
        {
            tagActionConfig pConfig = null;
            if (!FishConfig.Instance.m_ActionInfo.m_ActionMap.TryGetValue(ncb.Array[i].ActionID, out pConfig))
            {
                continue;
            }
            RoleActionBase pBase = CreateAction((EventTargetType)pConfig.EventID);
            if (pBase == null || !pBase.OnInit(ncb.Array[i], this))
            {
                continue;
            }
            m_ActionMap.Add(ncb.Array[i].ActionID, pBase);
        }
        if ((ncb.States & FishDataInfo.MsgEnd) != 0)
        {
            m_IsLoadInfo = true;
            tagActionChangeEvent pEvent = new tagActionChangeEvent();
            MsgEventHandle.HandleMsg(pEvent);
        }
        return(true);
    }
Example #4
0
 public void UpdateLimitTimeActivityData()
 {
     if (m_BaseWndObject == null || m_BaseWndObject.activeSelf != true)
     {
         return;
     }
     if (m_BaseWndObject.activeSelf != true)
     {
         return;
     }
     ClearGrid();
     m_NodeList.Clear();
     if (int256Function.GetBitStates(PlayerRole.Instance.RoleInfo.RoleMe.GetActionStates(), m_ActivityID))
     {
         //当前活动已经完成了
         tagActionConfig pActivityMap = FishConfig.Instance.m_ActionInfo.m_ActionMap[m_ActivityID];
         //活动结束了
         if (!pActivityMap.IsInTime())
         {
             m_BaseWndObject.SetActive(false);
             return;
         }
         foreach (KeyValuePair <uint, tagActionEventConfig> map in pActivityMap.EventMap)
         {
             InitTimeLimitItem(map.Value, 3);
         }
         AddGrid();
     }
     else if (PlayerRole.Instance.ActionManager.GetActionArray() != null)
     {
         if (PlayerRole.Instance.ActionManager.GetAction(m_ActivityID) != null)
         {
             RoleActionBase pActivityMap = PlayerRole.Instance.ActionManager.GetAction(m_ActivityID);
             foreach (KeyValuePair <uint, tagActionEventConfig> map in pActivityMap.pConfig.EventMap)
             {
                 //该结点任务完成既领取了
                 if ((map.Value.ID & pActivityMap.pActionInfo.ActionStates) != 0)
                 {
                     InitTimeLimitItem(map.Value, 3);
                 }
                 else
                 {
                     //该活动结点达到完成条件可以领取奖励了
                     if (pActivityMap.pActionInfo.ActionValue >= map.Value.FinishValue)
                     {
                         InitTimeLimitItem(map.Value, 1, map.Value.FinishValue);
                     }
                     else
                     {
                         InitTimeLimitItem(map.Value, 2, pActivityMap.pActionInfo.ActionValue);
                     }
                 }
             }
             m_NodeList.Sort(CompareItemBySate);
             AddGrid();
         }
     }
 }
Example #5
0
 public virtual bool OnInit(tagRoleActionInfo pInfo, RoleActionManager pManager)
 {
     //初始化任务 的数据
     m_pManger   = pManager;
     pActionInfo = pInfo;//客户端在加载的时候 无须判断是否需要进行每日清空
     pConfig     = FishConfig.Instance.m_ActionInfo.m_ActionMap[pActionInfo.ActionID];
     //m_ActionEventIsFinish = (pConfig..FinishValue <= pInfo.ActionValue);
     OnJoinAction();
     return(true);
 }
Example #6
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);
    }
Example #7
0
    public void UpdatePayActivityData()
    {
        if (m_BaseWndObject == null || m_BaseWndObject.activeSelf != true)
        {
            return;
        }
        if (m_BaseWndObject.activeSelf != true)
        {
            return;
        }
        if (int256Function.GetBitStates(PlayerRole.Instance.RoleInfo.RoleMe.GetActionStates(), m_ActivityID))
        {
            //当前活动已经完成了
            tagActionConfig pActivityMap = FishConfig.Instance.m_ActionInfo.m_ActionMap[m_ActivityID];
            //活动结束了
            if (!pActivityMap.IsInTime())
            {
                m_BaseWndObject.SetActive(false);
                return;
            }
            byte Indx = 0;
            foreach (KeyValuePair <uint, tagActionEventConfig> map in pActivityMap.EventMap)
            {
                SetNodeState(Indx, map.Value.RewardID, map.Value.ID, map.Value.FinishValue);
                Indx++;
            }
        }
        else if (PlayerRole.Instance.ActionManager.GetActionArray() != null)
        {
            if (PlayerRole.Instance.ActionManager.GetAction(m_ActivityID) != null)
            {
                RoleActionBase pActivityMap = PlayerRole.Instance.ActionManager.GetAction(m_ActivityID);
                byte           Indx         = 0;
                bool           bGetReward   = false;
                foreach (KeyValuePair <uint, tagActionEventConfig> map in pActivityMap.pConfig.EventMap)
                {
                    //该结点任务完成既领取了
                    if ((map.Value.ID & pActivityMap.pActionInfo.ActionStates) != 0)
                    {
                        if (m_PayNodeItem[Indx].m_GetAnimObj.activeSelf)
                        {
                            m_PayNodeItem[Indx].m_GetAnimObj.SetActive(false);
                        }
                        SetNodeState(Indx, map.Value.RewardID, map.Value.ID, map.Value.FinishValue);
                    }
                    else
                    {
                        //该活动结点达到完成条件可以领取奖励了
                        if (pActivityMap.pActionInfo.ActionValue >= map.Value.FinishValue)
                        {
                            m_PayNodeItem[Indx].m_LevelLabel.text    = map.Value.FinishValue.ToString() + " RMB";
                            m_PayNodeItem[Indx].m_LevelBg.spriteName = "Activity_Pay_NumBg0";
                            m_PayNodeItem[Indx].m_LightBg.spriteName = "Activity_Pay_Nod1";
                            ChangeButtonBg(m_PayNodeItem[Indx].m_LevelNodeBtn, "123");
                            m_PayNodeItem[Indx].m_NodeID     = map.Value.ID;
                            m_PayNodeItem[Indx].m_RewardID   = map.Value.RewardID;
                            m_PayNodeItem[Indx].m_bGetReward = true;
                            bGetReward = true;
                            //  m_PayNodeItem[Indx].m_LevelNodeBg.spriteName = "123";
                            m_PayNodeItem[Indx].m_GetAnimObj.SetActive(true);
                        }
                        else
                        {
                            m_PayNodeItem[Indx].m_LevelLabel.text    = map.Value.FinishValue.ToString() + " RMB";
                            m_PayNodeItem[Indx].m_LevelBg.spriteName = "Activity_Pay_NumBg0";
                            ChangeButtonBg(m_PayNodeItem[Indx].m_LevelNodeBtn, "Activity_Pay_Chests0");
                            m_PayNodeItem[Indx].m_NodeID     = map.Value.ID;
                            m_PayNodeItem[Indx].m_RewardID   = map.Value.RewardID;
                            m_PayNodeItem[Indx].m_bGetReward = false;

                            //if (!bGetReward)
                            //{
                            //    bGetReward = true;
                            //    m_PayNodeItem[Indx].m_LightBg.spriteName = "Activity_Pay_Nod1";

                            //}
                            //else
                            //    m_PayNodeItem[Indx].m_LightBg.spriteName = "Activity_Pay_Nod0";
                        }
                    }
                    ++Indx;
                }
            }
        }
        else
        {
            //错误情况
            // m_BaseWndObject.SetActive(false);
        }
    }
Example #8
0
 public void UpdateActivityLevelData()
 {
     if (m_BaseWndObject == null || m_BaseWndObject.activeSelf != true)
     {
         return;
     }
     if (int256Function.GetBitStates(PlayerRole.Instance.RoleInfo.RoleMe.GetActionStates(), m_ActivityID))
     {
         //当前活动已经完成了
         tagActionConfig pActivityMap = FishConfig.Instance.m_ActionInfo.m_ActionMap[m_ActivityID];
         //活动结束了
         if (!pActivityMap.IsInTime())
         {
             m_BaseWndObject.SetActive(false);
             return;
         }
         ShowFinshActivity(pActivityMap);
         m_bError = false;
     }
     else if (PlayerRole.Instance.ActionManager.GetActionArray() != null)
     {
         if (PlayerRole.Instance.ActionManager.GetAction(m_ActivityID) != null)
         {
             RoleActionBase pActivityMap = PlayerRole.Instance.ActionManager.GetAction(m_ActivityID);
             byte           Indx         = 0;
             m_bError = false;
             foreach (KeyValuePair <uint, tagActionEventConfig> map in pActivityMap.pConfig.EventMap)
             {
                 //该结点任务完成既领取了
                 if ((map.Value.ID & pActivityMap.pActionInfo.ActionStates) != 0)
                 {
                     m_LevelNodeItem[Indx].m_LightObj.SetActive(true);
                     m_LevelNodeItem[Indx].m_LevelBg.spriteName     = "Level_Bg1";
                     m_LevelNodeItem[Indx].m_LevelLabel.text        = map.Value.FinishValue.ToString() + "  级";
                     m_LevelNodeItem[Indx].m_LevelNodeBtn.isEnabled = false;
                     string str = "Activity_Level" + map.Value.FinishValue.ToString() + "_Btn0";
                     ChangeButtonBg(m_LevelNodeItem[Indx].m_LevelNodeBtn, str);
                     m_LevelNodeItem[Indx].m_bGetReward = false;
                     m_LevelNodeItem[Indx].m_NodeID     = map.Value.ID;
                     m_LevelNodeItem[Indx].m_RewardAnim.SetBool("Reward", false);
                 }
                 else
                 {
                     //该活动结点达到完成条件可以领取奖励了
                     if (pActivityMap.pActionInfo.ActionValue >= map.Value.FinishValue)
                     {
                         string str = "Activity_Level" + map.Value.FinishValue.ToString() + "_Btn0";
                         ChangeButtonBg(m_LevelNodeItem[Indx].m_LevelNodeBtn, str);
                         m_LevelNodeItem[Indx].m_NodeID          = map.Value.ID;
                         m_LevelNodeItem[Indx].m_bGetReward      = true;
                         m_LevelNodeItem[Indx].m_RewardID        = map.Value.RewardID;
                         m_LevelNodeItem[Indx].m_LevelLabel.text = map.Value.FinishValue.ToString() + "  级";
                         m_LevelNodeItem[Indx].m_RewardAnim.SetBool("Reward", true);
                     }
                     else
                     {
                         m_LevelNodeItem[Indx].m_bGetReward      = false;
                         m_LevelNodeItem[Indx].m_RewardID        = map.Value.RewardID;
                         m_LevelNodeItem[Indx].m_LevelLabel.text = map.Value.FinishValue.ToString() + "  级";
                     }
                 }
                 ++Indx;
             }
         }
         else
         {
             m_bError = true;
         }
     }
     else
     {
         //错误情况
         m_bError = true;
         // m_BaseWndObject.SetActive(false);
     }
 }