Exemple #1
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="eventid"></param>
    /// <param name="data"></param>
    public void GlobalEventHandler(int eventid, object data)
    {
        switch (eventid)
        {
        case (int)Client.GameEventID.RECONNECT_SUCESS:
        {
            //刷新面板
        }
        break;

        case (int)Client.GameEventID.ISFIRSTRECHARGE:
        {
            m_blockGridCreator.UpdateActiveGrid();
        }
        break;

        case (int)Client.GameEventID.BUYNOBLESUCCESS:
        {
            stNobleTempIndex dat = (stNobleTempIndex)data;
            RefreshNobleGrid(dat.nobleID);
        }
        break;

        case (int)Client.GameEventID.GETNOBLEMONEYSUCCESS:
        {
            stNobleTempIndex dat = (stNobleTempIndex)data;
            RefreshNobleGrid(dat.nobleID);
        }
        break;

        case (int)Client.GameEventID.MAINPANEL_SHOWREDWARING:
        {
            stShowMainPanelRedPoint st        = (stShowMainPanelRedPoint)data;
            WarningDirection        direction = (WarningDirection)st.direction;
            WarningEnum             model     = (WarningEnum)st.modelID;
            if (model == WarningEnum.Noble)
            {
                mShowNobleRedPoint = st.bShowRed;
                UpdateApplyRedPoint();
            }
        }
        break;
        }
    }
Exemple #2
0
    /// <summary>
    /// 事件处理
    /// </summary>
    /// <param name="nEventID"></param>
    /// <param name="param"></param>
    public void GlobalEventHandler(int nEventID, object param)
    {
        GuideDefine.GuideTriggerType triggerType = GuideDefine.GuideTriggerType.Invalide;
        bool playerLogin = false;

        switch (nEventID)
        {
        case (int)Client.GameEventID.ENTITYSYSTEM_LEVELUP:
        {
            triggerType = GuideDefine.GuideTriggerType.Level;
            CheckTabFuncOpen(true);
        }
        break;

        case (int)(int)Client.GameEventID.CHAPTER_EFFECT_END:
        {
            triggerType = GuideDefine.GuideTriggerType.ChapterEnd;
        }
        break;

        case (int)Client.GameEventID.TASK_ACCEPT:
        case (int)Client.GameEventID.TASK_DONING:
        case (int)Client.GameEventID.TASK_CANSUBMIT:
        case (int)Client.GameEventID.TASK_DONE:
        case (int)Client.GameEventID.UIEVENTGUIDERECYCLETRIGGER:
        {
            triggerType = GuideDefine.GuideTriggerType.Task;
        };
            break;

        case (int)Client.GameEventID.SEVENDAYOPENSTATUS:
        case (int)Client.GameEventID.GODWEAPENSTATUS:
        case (int)Client.GameEventID.OPENSERVERGIFTSTATUS:
        case (int)Client.GameEventID.FIRSTRECHARGESTATUS:
        case (int)Client.GameEventID.RETREWARDSTATUS:
        case (int)Client.GameEventID.QUESTIONSTATUS:
        {
            triggerType = GuideDefine.GuideTriggerType.Condition;
        }
        break;

        case (int)Client.GameEventID.TITLE_NEWTITLE:               //称号获得
        case (int)Client.GameEventID.MAINPANEL_SHOWREDWARING:      //日常
        {
            stShowMainPanelRedPoint st        = (stShowMainPanelRedPoint)param;
            WarningDirection        direction = (WarningDirection)st.direction;
            WarningEnum             model     = (WarningEnum)st.modelID;
            if (model == WarningEnum.Daily && st.bShowRed)
            {
                triggerType = GuideDefine.GuideTriggerType.Condition;
            }
        }
        break;

        case (int)Client.GameEventID.UIEVENTDOGUIDEWORKFLOWCHECK:
        {
            CheckWorkFlowData checkData = new CheckWorkFlowData
            {
                CheckTypeMask = GuideDefine.GetTriggerMaskByType(GuideDefine.GuideTriggerType.Always),
            };
            if (null != param && param is CheckWorkFlowData)
            {
                checkData = (CheckWorkFlowData)param;
            }
            CheckWorkFlow(checkData);
        }
        break;

        case (int)Client.GameEventID.SYSTEM_GAME_READY:
            //case (int)Client.GameEventID.PLAYER_LOGIN_SUCCESS:
        {
            triggerType = GuideDefine.GuideTriggerType.Always;
            playerLogin = true;
            CheckTabFuncOpen(false);
        }
        break;

        case (int)Client.GameEventID.RECONNECT_SUCESS:
        {
            //断线重连
            if (null != param && param is Client.stReconnectSucess)
            {
                Client.stReconnectSucess reconnect = (Client.stReconnectSucess)param;
            }
            triggerType = GuideDefine.GuideTriggerType.Always;
            playerLogin = true;
        }
        break;

        case (int)Client.GameEventID.UIEVENTGUIDEWORKFLOWCHECKCOMPLETE:
        {
            //设置数据状态
            m_bool_workFlowReady = true;
            //执行下一个工作流
            Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENTDOGUIDEWORKFLOW);
        }
        break;

        case (int)Client.GameEventID.UIEVENTDOGUIDEWORKFLOW:
        {
            DoWorkFlow();
        }
        break;

        case (int)Client.GameEventID.UIEVENT_PANELSTATUS:
        {
            if (null != param && param is UIPanelBase.PanelStatusData)
            {
                UIPanelBase.PanelStatusData status = (UIPanelBase.PanelStatusData)param;
                if (status.Status == UIPanelBase.PanelStatus.Show)
                {
                    DoRefreshNewFuncOpenStaus(status.ID);
                }
                else if (status.Status == UIPanelBase.PanelStatus.Hide)
                {
                    ClearRecycleTriggerGuideByPanel(status.ID);
                }
            }
        }
        break;

        /***************面板焦点状态改变********************/
        case (int)Client.GameEventID.UIEVENT_PANELFOCUSSTATUSCHANGED:
        {
            UIPanelManager.PanelFocusData status = (UIPanelManager.PanelFocusData)param;
            if (status.GetFocus)
            {
                //任务提交面板显示检测工作流(条件触发)
                Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENTDOGUIDEWORKFLOWCHECK
                                                                    , new CheckWorkFlowData()
                    {
                        CheckTypeMask = (1 << (int)GuideDefine.GuideTriggerType.Condition),
                    });

                //刷新新功能开启状态
                //DoRefreshNewFuncOpenStaus(status.ID);
                //执行下一个工作流
                Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENTDOGUIDEWORKFLOW);
            }
        }
        break;

        case (int)Client.GameEventID.UIEVENTGAMEOBJMOVESTATUSCHANGED:
        {
            if (null != param && param is UIDefine.GameObjMoveData)
            {
                UIDefine.GameObjMoveData moveData = param as UIDefine.GameObjMoveData;
                //Engine.Utility.Log.LogGroup("WJH", "MOveStatus status:{0} child:{1} ", moveData.Status, moveData.Objs.Count);
                bool adjustTime = false;
                bool matchTime  = false;
                switch (moveData.Status)
                {
                case UIDefine.GameObjMoveStatus.MoveToInvisible:
                {
                    adjustTime = true;
                    matchTime  = false;
                }
                break;

                case UIDefine.GameObjMoveStatus.Invisible:
                case UIDefine.GameObjMoveStatus.Visible:
                {
                    adjustTime = true;
                    matchTime  = true;
                }
                break;

                case UIDefine.GameObjMoveStatus.MoveToVisible:
                {
                }
                break;
                }

                AdjustWorkFlowDoTime(adjustTime, matchTime);
                AdjustUnGuideRefreshDoTime(adjustTime, matchTime);
            }
        }
        break;

        /**********新手引导*************/
        case (int)Client.GameEventID.UIEVENTGUIDECOMPLETE:
        {
            //完成一个引导
            CompleteGuide((uint)param);
            //执行下一个工作流
            Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENTDOGUIDEWORKFLOW);
        }
        break;

        case (int)Client.GameEventID.UIEVENTGUIDESKIP:
        {
            //跳过静默完成当前引导
            SilentCompleteGuideGroup((uint)param);
            //执行下一个工作流
            Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENTDOGUIDEWORKFLOW);
        }
        break;

        /**********新功能开启*************/
        case (int)Client.GameEventID.UIEVENTNEWFUNCOPENREAD:
        {
            OnNewFuncOpenRead((GuideDefine.FuncOpenShowData)param);
        }
        break;

        case (int)Client.GameEventID.UIEVENTNEWFUNCOPENADD:
        {
            OnNewFuncOpenAdd((GuideDefine.FuncOpenShowData)param);
        }
        break;

        case (int)Client.GameEventID.UIEVENTNEWFUNCCOMPLETE:
        {
            //执行下一个工作流
            Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENTDOGUIDEWORKFLOW);
        }
        break;

        //物品变更检测工作流(条件触发)
        case (int)Client.GameEventID.UIEVENT_UPDATEITEM:
        {
            if (null != param && param is ItemDefine.UpdateItemPassData)
            {
                ItemDefine.UpdateItemPassData passData = param as ItemDefine.UpdateItemPassData;
                if (passData.UpdateType == ItemDefine.UpdateItemType.Add ||
                    (passData.UpdateType == ItemDefine.UpdateItemType.Update && passData.ChangeNum > 0))
                {
                    GuideDefine.GetTriggerMaskByType(GuideDefine.GuideTriggerType.Condition);
                    //任务提交面板显示检测工作流(条件触发)
                    Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENTDOGUIDEWORKFLOWCHECK
                                                                        , new CheckWorkFlowData()
                        {
                            CheckTypeMask = (GuideDefine.GetTriggerMaskByType(GuideDefine.GuideTriggerType.Condition)
                                             | GuideDefine.GetTriggerMaskByType(GuideDefine.GuideTriggerType.ItemGet)),
                            Param = passData.BaseId,
                        });
                }
            }
        }
        break;

        case (int)Client.GameEventID.UIEVENTUISTATECHANGED:
        {
            if (null != param && param is PanelID)
            {
                PanelID pid = (PanelID)param;
                RefreshGuideTargetObj(pid);
            }
        }
        break;
        }

        if (triggerType != GuideDefine.GuideTriggerType.Invalide)
        {
            //检测工作流
            Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENTDOGUIDEWORKFLOWCHECK, new CheckWorkFlowData()
            {
                CheckTypeMask = GuideDefine.GetTriggerMaskByType(triggerType),
                Param         = param,
            });
        }

        if (playerLogin)
        {
            //数据流准备好
            Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENTGUIDEWORKFLOWCHECKCOMPLETE);
        }
    }
        public static void AddWarning(this Warning warnDict, WarningEnum warning)
        {

        }
Exemple #4
0
    void OnEvent(int eventID, object param)
    {
        switch ((Client.GameEventID)eventID)
        {
        case GameEventID.ENTITYSYSTEM_TARGETCHANGE:
        {
            OnTargetChange(param);
        }
        break;

        case GameEventID.SKILLSYSYTEM_TAB:
        {
            if (m_effctSelect != null)
            {
                Engine.RareEngine.Instance().GetRenderSystem().RemoveEffect(m_effctSelect);
                m_effctSelect = null;
            }
            string strSelectEffct = "effect/UI/[email protected]";
            strSelectEffct = strSelectEffct.ToLower();
            Engine.RareEngine.Instance().GetRenderSystem().CreateEffect(ref strSelectEffct, ref m_effctSelect, null);
            InitEffct(m_effctSelect);
            SetSelectTargetEffectPos();
        }
        break;

        case GameEventID.SKILLSYSTEM_SHOWDAMAGE:
        {
            Client.IEntity entity = ClientGlobal.Instance().GetControllerSystem().GetActiveCtrl().GetCurTarget();
            if (entity != null)
            {
            }
        }
        break;

        case GameEventID.ENTITYSYSTEM_HPUPDATE:
        {
            UpdateProprty(param);
        }
        break;

        case GameEventID.ENTITYSYSTEM_MPUPDATE:
        {
            UpdateProprty(param);
        }
        break;

        case GameEventID.ENTITYSYSTEM_PROPUPDATE:
        {
            UpdateProprty(param);
        }
        break;

        case GameEventID.PLAYER_FIGHTPOWER_REFRESH:
        {
            RefreshFightPower(param);
        }
        break;

        case GameEventID.SKILL_SHOWPETSKILL:
        {
            stShowPetSkill st = (stShowPetSkill)param;
            m_bShowPetQuick = st.bShow;
            // ShowPetQuickInfo(st.bShow);
        }
        break;

        case Client.GameEventID.CAMP_ADDCOLLECTNPC:
        {
            UpdateFBPickBtn(param);
        }
        break;

        case Client.GameEventID.ROBOTCOMBAT_STOP:
        {
            if (m_spriteEx_btnAutoFight != null)
            {
                m_spriteEx_btnAutoFight.ChangeSprite(1);
            }
        }
        break;

        case Client.GameEventID.ROBOTCOMBAT_START:
        {
            if (m_spriteEx_btnAutoFight != null)
            {
                m_spriteEx_btnAutoFight.ChangeSprite(2);
            }
        }
        break;

        case GameEventID.MAINPANEL_SHOWREDWARING:
        {
            stShowMainPanelRedPoint st        = (stShowMainPanelRedPoint)param;
            WarningDirection        direction = (WarningDirection)st.direction;
            WarningEnum             model     = (WarningEnum)st.modelID;
            bool       bShow       = (bool)st.bShowRed;
            GameObject redPointObj = null;
            switch ((WarningEnum)st.modelID)
            {
            case WarningEnum.LearnSkill:
                redPointObj = m_sprite_learnskill_warning.gameObject;
                break;

            case WarningEnum.SEVENDAY:
                redPointObj = m_sprite_seven_warning.gameObject;
                break;

            case WarningEnum.WELFARE:
                redPointObj = m_sprite_welfare_warning.gameObject;
                break;

            case WarningEnum.TITLE_NEWTITLE:
                redPointObj = m_sprite_prop_warning.gameObject;
                break;

            case WarningEnum.Question:
                redPointObj = m_sprite_question_warning.gameObject;
                break;

            case WarningEnum.Mail:
                redPointObj = m_sprite_friend_warning.gameObject;
                break;

            case WarningEnum.Noble:
                redPointObj = m_sprite_mall_warning.gameObject;
                m_sprite_Noble_warning.gameObject.SetActive(bShow);
                break;

            case WarningEnum.Clan:
                redPointObj = m_sprite_clan_warning.gameObject;
                break;

            case WarningEnum.Achievement:
                redPointObj = m_sprite_achievement_warning.gameObject;
                break;

            case WarningEnum.Daily:
                redPointObj = m_sprite_daily_warning.gameObject;
                break;

            case WarningEnum.GodWeapen:
                redPointObj = m_sprite_godweapen_warning.gameObject;
                break;

            case WarningEnum.OpenServer:
                redPointObj = m_sprite_openserver_warning.gameObject;
                break;

            case WarningEnum.FirstRechargeReward:
                redPointObj = m_sprite_FirstRecharge_warning.gameObject;
                break;

            case WarningEnum.Activity:
                redPointObj = m_sprite_activity_warning.gameObject;
                break;

            case WarningEnum.Forging:
                redPointObj = m_sprite_forging_warning.gameObject;
                break;

            case WarningEnum.Accumulative:
                redPointObj = m_sprite_Accumulative_warning.gameObject;
                break;

            case WarningEnum.Ride:
                redPointObj = m_sprite_ride_warning.gameObject;
                break;

            case WarningEnum.HttpDown:
                redPointObj = m_sprite_HttpDown_warning.gameObject;
                break;
            }
            if (redPointObj != null)
            {
                redPointObj.SetActive(bShow);
            }

            if (direction == WarningDirection.None)
            {
                //不涉及到三角标和头像红点提示的系统return;
                return;
            }
            if (!m_lstWarnningSystem.ContainsKey(direction))
            {
                m_lstWarnningSystem.Add(direction, new List <WarningEnum>());
            }
            if (bShow)
            {
                if (!m_lstWarnningSystem[direction].Contains(model))
                {
                    m_lstWarnningSystem[direction].Add(model);
                }
            }
            else
            {
                if (m_lstWarnningSystem[direction].Contains(model))
                {
                    m_lstWarnningSystem[direction].Remove(model);
                }
            }
            if (direction == WarningDirection.Right)
            {
                bool showRed = m_lstWarnningSystem[direction].Count > 0;
                m_sprite_leftbtn_warning.gameObject.SetActive(showRed);
            }
            else if (direction == WarningDirection.Left)
            {
                m_sprite_face_warning.gameObject.SetActive(m_lstWarnningSystem[direction].Count > 0);
            }
        }
        break;

        //摇杆
        case GameEventID.ENTITYSYSTEM_LEAVEMAP:
        {
            ResetJoystick();
            //小地图
            ReleaseTexture();
        }
        break;

        case GameEventID.SKLL_LONGPRESS:
        {
            stSkillLongPress press = (stSkillLongPress)param;
            //if (press.userID == MainPlayerHelper.GetPlayerUID())
            {
                m_bSkillLongPress = press.bLongPress;
            }
        }
        break;

        case GameEventID.ENTITYSYSTEM_RELIVE:
        {
            stEntityRelive ed = (stEntityRelive)param;
            if (ed.uid == MainPlayerHelper.GetPlayerUID())
            {
                ResetJoystick();

                //清采集按钮
                if (DataManager.Manager <ComBatCopyDataManager>().EnterCopyID != 0)
                {
                    stCampCollectNpc npc = new stCampCollectNpc {
                        enter = false, npcid = 0
                    };
                    UpdateFBPickBtn(npc);
                }
            }
        }
        break;

        case GameEventID.ENTITYSYSTEM_NEWNAME:
        {
            Client.stNewName name = (Client.stNewName)param;
            UserData.CurrentRole.name = name.newName;
            m_label_mainroleName.text = name.newName;
        }
        break;

        case GameEventID.EJOYSTICKSTABLE:
        {
            if (param != null)
            {
                m_bJoystickStable = (bool)param;
            }
            SetMainCollider();
        }
        break;

        case GameEventID.REFRESHTRANSMITPUSHMSGSTATUS:
        {
            RefreshBtns();
        }
        break;

        case GameEventID.SYSTEM_GAME_READY:
        {
            ControlMainBtnParticle(m_sprite_FanLi_warning.parent.transform, true);

            //ControlMainBtnParticle(m_sprite_FirstRecharge_warning.parent.transform, true);
            //ControlMainBtnParticle(m_sprite_activity_warning.parent.transform, true);
            //ControlMainBtnParticle(m_sprite_Noble_warning.parent.transform, true);
            //ControlMainBtnParticle(m_sprite_Accumulative_warning.parent.transform, true);
        }
        break;

        default:
            break;
        }
    }