示例#1
0
 bool IsTimeLimitReward()
 {
     if (!m_bTimeLimitExist)
     {
         return(false);
     }
     if (PlayerRole.Instance.ActionManager.GetActionArray() != null)
     {
         if (PlayerRole.Instance.ActionManager.GetAction(m_ActivityTimeLimitWnd.ActivityID) != null)
         {
             RoleActionBase pActivityMap = PlayerRole.Instance.ActionManager.GetAction(m_ActivityTimeLimitWnd.ActivityID);
             foreach (KeyValuePair <uint, tagActionEventConfig> map in pActivityMap.pConfig.EventMap)
             {
                 if ((map.Value.ID & pActivityMap.pActionInfo.ActionStates) == 0)
                 {
                     //该活动结点达到完成条件可以领取奖励了
                     if (pActivityMap.pActionInfo.ActionValue >= map.Value.FinishValue)
                     {
                         m_WarningObj[(byte)ActivityType.TimeLimitActivity_UI].SetActive(true);
                         return(true);
                     }
                 }
             }
         }
     }
     m_WarningObj[(byte)ActivityType.TimeLimitActivity_UI].SetActive(false);
     return(false);
 }
示例#2
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);
    }
示例#3
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);
    }
示例#4
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);
    }
示例#5
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();
         }
     }
 }
示例#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);
    }
示例#7
0
    private bool SendGetActionReward(Byte ActionID, UInt32 OnceID)
    {
        //判断任务是否完成了
        RoleActionBase pAction = GetAction(ActionID);

        if (pAction == null)
        {
            tagUserOperationEvent pUOM = new tagUserOperationEvent(UserOperateMessage.UOM_Action_GetReward_Failed_1);
            MsgEventHandle.HandleMsg(pUOM);
            return(false);
        }
        if (!pAction.pConfig.EventMap.ContainsKey(OnceID))
        {
            tagUserOperationEvent pUOM = new tagUserOperationEvent(UserOperateMessage.UOM_Action_GetReward_Failed_2);
            MsgEventHandle.HandleMsg(pUOM);
            return(false);
        }
        if (pAction.pConfig.EventMap[OnceID].FinishValue > pAction.pActionInfo.ActionValue)
        {
            tagUserOperationEvent pUOM = new tagUserOperationEvent(UserOperateMessage.UOM_Action_GetReward_Failed_3);
            MsgEventHandle.HandleMsg(pUOM);
            return(false);
        }
        if ((pAction.pActionInfo.ActionStates & OnceID) != 0)
        {
            tagUserOperationEvent pUOM = new tagUserOperationEvent(UserOperateMessage.UOM_Action_GetReward_Failed_4);
            MsgEventHandle.HandleMsg(pUOM);
            return(false);
        }
        if (!pAction.pConfig.IsInTime())
        {
            tagUserOperationEvent pUOM = new tagUserOperationEvent(UserOperateMessage.UOM_Action_GetReward_Failed_5);
            MsgEventHandle.HandleMsg(pUOM);
            return(false);
        }
        CL_Cmd_GetActionReward ncb = new CL_Cmd_GetActionReward();

        ncb.SetCmdType(NetCmdType.CMD_CL_GetActionReward);
        ncb.ActionID = ActionID;
        ncb.OnceID   = OnceID;
        NetServices.Instance.Send <CL_Cmd_GetActionReward>(ncb);
        return(true);
    }
示例#8
0
 bool IsPayReward()
 {
     if (PlayerRole.Instance.ActionManager.GetActionArray() != null)
     {
         if (PlayerRole.Instance.ActionManager.GetAction(2) != null)
         {
             RoleActionBase pActivityMap = PlayerRole.Instance.ActionManager.GetAction(2);
             foreach (KeyValuePair <uint, tagActionEventConfig> map in pActivityMap.pConfig.EventMap)
             {
                 if ((map.Value.ID & pActivityMap.pActionInfo.ActionStates) == 0)
                 {
                     //该活动结点达到完成条件可以领取奖励了
                     if (pActivityMap.pActionInfo.ActionValue >= map.Value.FinishValue)
                     {
                         m_WarningObj[2].SetActive(true);
                         return(true);
                     }
                 }
             }
         }
     }
     m_WarningObj[2].SetActive(false);
     return(false);
 }
示例#9
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);
        }
    }
示例#10
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);
     }
 }