/// <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; } }
/// <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) { }
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; } }