///// <summary> ///// 需要隐藏主界面的Layer为Freewindow的界面 ///// </summary> //void InitNeedHideFreeWindow() //{ // NeedHideFreeWindow.Clear(); // NeedHideFreeWindow.Add(UIDef.LEVEL_SELECT_DUNGEON, true); // NeedHideFreeWindow.Add(UIDef.LEVEL_SELECT_DETAIL, true); // NeedHideFreeWindow.Add(UIDef.ELITE_LEVEL_DETAIL_VIEW, true); //} /// <summary> /// 监听弹出动画结束事件 /// </summary> /// <param name="e"></param> //void OnRecieveOpen(KHEvent e) //{ // string _name = e.data.ToString(); // if (!IgnoreWindow.Contains(_name)) // { // RefreshShowState(false, _name); // } //} /// <summary> /// 监听关闭窗口事件 /// </summary> /// <param name="e"></param> void OnRecieveClose(KHEvent e) { isWaitingForChState = false; curCountDown = REFRESH_TIME; if (_needHideObj == null) { return; } if (_needHideObj.activeSelf || e.data == null) { return; } string _name = e.data.ToString(); int layer = KHUIManager.getInstance().GetWindowLayer(_name); UIWindow win = KHUIManager.getInstance().FindWindow <UIWindow>(_name); if (win != null) { bool freeNeedHide = win.FreeLayerHideMainScene; bool fullNeedShow = win.FullLayerShowMainScene; if (!IgnoreLayer.Contains(layer) && ((layer == WindowLayer.FullScreenWindow && !fullNeedShow) || (layer == WindowLayer.FreeWindow && freeNeedHide))) { RefreshShowState(true, _name); } } }
void OnDisable() { MainUICamera.getInstance().UnRegisterGesture(); UIMainScene.getInstance().OnDisable(); if (playerEntity != null) { playerEntity.removeEventListener(PlayerEntity.MainNinjaChangeEvent, UpdateActor); } KHUIManager inst = KHUIManager.getInstance(); if (inst != null && inst.Dispatcher != null) { inst.Dispatcher.removeEventListener("OnOpenWindow", OnOpenOtherWindow); inst.Dispatcher.removeEventListener("OnCloseWindow", OnCloseOtherWindow); } mainModel.Dispatcher.removeEventListener(UIMainScene.EVT_REQ_SCENE_CHANGE_CHECK, OnReqSceneChangeCheckRecived); KHSceneSettingModel sceneSettingModel = KHPluginManager.Instance.GetModel(KHSceneSettingPlugin.pluginName) as KHSceneSettingModel; sceneSettingModel.Dispatcher.removeEventListener(KHSceneSettingModel.SELECT_SCENE_SETTING_EVT, OnRreshSceneSetting); sceneSettingModel.Dispatcher.removeEventListener(KHSceneSettingModel.PREVIEW_SCENE_SETTING_CANCEL_EVT, OnRreshSceneSetting); sceneSettingModel.Dispatcher.removeEventListener(KHSceneSettingModel.PREVIEW_SCENE_SETTING_EVT, OnRreshSceneSetting); UnReigstBuildingButtonClickEvtProc(); }
void OnEnable() { //this.RefereshMainScene(); this.DoRefereshSceneLoad(); RegistBuildingButtonClickEvtProc(); SaveEntryElementOnBuild(); //初始化人物样式 playerEntity = RemoteModel.Instance.Player; playerEntity.addEventListener(PlayerEntity.MainNinjaChangeEvent, UpdateActor); KHEvent initEvent = new KHEvent("init"); initEvent.data = playerEntity.MainNinja; UpdateActor(initEvent); KHUIManager.getInstance().Dispatcher.addEventListener("OnOpenWindow", OnOpenOtherWindow); KHUIManager.getInstance().Dispatcher.addEventListener("OnCloseWindow", OnCloseOtherWindow); mainModel = KHPluginManager.Instance.GetModel("MainUI") as MainUIModel; mainModel.Dispatcher.addEventListener(UIMainScene.EVT_REQ_SCENE_CHANGE_CHECK, OnReqSceneChangeCheckRecived); KHSceneSettingModel sceneSettingModel = KHPluginManager.Instance.GetModel(KHSceneSettingPlugin.pluginName) as KHSceneSettingModel; sceneSettingModel.Dispatcher.addEventListener(KHSceneSettingModel.SELECT_SCENE_SETTING_EVT, OnRreshSceneSetting); sceneSettingModel.Dispatcher.addEventListener(KHSceneSettingModel.PREVIEW_SCENE_SETTING_CANCEL_EVT, OnRreshSceneSetting); sceneSettingModel.Dispatcher.addEventListener(KHSceneSettingModel.PREVIEW_SCENE_SETTING_EVT, OnRreshSceneSetting); //显示气泡; ShowBubble(); }
void UnReigstBuildingButtonClickEvtProc() { KHUIManager tUiMgr = KHUIManager.getInstance(); if (tUiMgr != null) { KHEventDispatcher tEvtSender = tUiMgr.Dispatcher; tEvtSender.removeEventListener(UIEntryButton.EVT_ENTRY_BUTTON_ONCLICK, OnBuildingButtonClickEvtRecived); } }
public void OnDisable() { KHUIManager manager = KHUIManager.getInstance(); if (manager != null) { manager.Dispatcher.removeEventListener(UIMainScene.ON_ClOSE, OnRecieveClose); manager.Dispatcher.removeEventListener(UIEventDef.ON_PLAY_ClOSE_ANIM, OnRecieveClose); } MainUICamera.getInstance().UnBuild(); }
public void ClickChapterGroup(int chapterGroupID) { // 章节17跳转到忍界大战 //ChapterItemConfig chapterGroupCfg = KHDataManager.CONFIG.getChapterItemConfig(chapterGroupID); //if (chapterGroupCfg.chapterType == 1) //{ // KHPluginManager.Instance.SendMessage(NinkaiTaisenLevelSelectPlugin.pluginName, NinkaiTaisenLevelSelectOperation.OP_EnterMainMap, chapterGroupID); //} // 关闭云彩背景 KHUIManager.getInstance().SendMessage(UIDef.LEVEL_SELECTBG_UI, UIEventDef.PLAY_HIDE_ANI); // 现在直接跳转到忍界大战, 后续有新类型再说 KHPluginManager.Instance.SendMessage(NinkaiTaisenLevelSelectPlugin.pluginName, NinkaiTaisenLevelSelectOperation.OP_ClickChapterItem, chapterGroupID); }
public void CheckVisibleState() { if (_needHideObj != null) { UIWindow topWin = KHUIManager.getInstance().TopWindow; if (topWin != null) { if (topWin.name != UIDef.MAIN_PAGE_VIEW) { string topName = KHUIManager.getInstance().TopWindow.name; int layer = KHUIManager.getInstance().GetWindowLayer(topName); bool freeNeedHide = topWin.FreeLayerHideMainScene; bool fullNeedShow = topWin.FullLayerShowMainScene; ///全屏界面以及非全屏但是标记成需要隐藏的才会去更新显示状态 if (_needHideObj.activeSelf && !IgnoreLayer.ContainsKey(layer) && ((layer == WindowLayer.FullScreenWindow && !fullNeedShow) || (layer == WindowLayer.FreeWindow && freeNeedHide))) { //准备隐藏 if (!isWaitingForChState) { isWaitingForChState = true; curCountDown = REFRESH_TIME; } curCountDown -= Time.deltaTime; if (curCountDown <= 0.0f) { RefreshShowState(false); } } stayTimeSpan = Time.realtimeSinceStartup + stayIntervel; } else { if (!_needHideObj.activeSelf) { if (stayTimeSpan <= Time.realtimeSinceStartup) { //保护机制 RefreshShowState(true); stayTimeSpan = Time.realtimeSinceStartup + stayIntervel; } } } } } }
public void _initialize(SceneUIObject _needhideObj) { //_camera = MainUICamera.getInstance(); //_gameObject = _obj; _needHideObj = _needhideObj; _needHideObj.SetActive(true); _openAreaRect = null; buildByResID(); MainUICamera.getInstance().initialize(this); //InitAnimIgnoreWindow(); InitIgnoreLayer(); //InitNeedHideFreeWindow(); //KHUIManager.getInstance().Dispatcher.addEventListener(UIMainScene.ON_OPEN_DONE, OnRecieveOpen); KHUIManager.getInstance().Dispatcher.addEventListener(UIMainScene.ON_ClOSE, OnRecieveClose); KHUIManager.getInstance().Dispatcher.addEventListener(UIEventDef.ON_PLAY_ClOSE_ANIM, OnRecieveClose); stayTimeSpan = Time.realtimeSinceStartup + stayIntervel; }
public void RefreshShowState(bool _showFlag, string _winName = "") { if (_needHideObj == null) { return; } _needHideObj.SetActive(_showFlag); KHUIManager.getInstance().SendMessage(UIDef.MAIN_BAR_VIEW, "UpdateContainerVisible", _showFlag); if (false == _showFlag) { MainUIModel tMainUiMode = KHPluginManager.Instance.GetModel("MainUI") as MainUIModel; tMainUiMode.Dispatcher.dispatchEvent(new KHEvent(EVT_REQ_SCENE_CHANGE_CHECK)); } else { //KHUIManager.ResetCameraBoundForDeviceWhileWndChanged(UIDef.MAIN_PAGE_VIEW); } }
public void OnClick() { if ((!isCenter || isExitAnimPlaying) && !MessageManager.Instance.IsActivate) { return; } KHUIManager.getInstance().dispatchClickToGuideEvent(this.tag); var c = KHDataManager.CONFIG.getChapterItemConfig(_chapterID); if (c == null) { Debuger.LogError(string.Format("没有找到章节ID为:{0}的配置!!!!!!!!!!", _chapterID)); return; } KHAudioManager.PlaySound(9907); if (!ExpandPackManager.isValid(1, _resourceChapterId)) { KHPluginManager.Instance.SendMessage(ExpandPackPlugin.PluginName, "ExpandPack.show", new ExpandPackView.ShowArg() { type = 1, data = _resourceChapterId }); return; } if (clickItemPlayAnimSwitch == 1) // 1只播有含有卷轴动画Item的退出动画, 目前只有忍界大战都卷轴动画 { // 播完动画再跳转 curEvtCount = 0; if (_isShowScrollEx) { isExitAnimPlaying = true; KHUIManager.Instance.Dispatcher.removeEventListener(LevelSelectModel.CHAPTER_ITEM_PLAY_EXIT_ANIM_COMPLETE, OnExitAnimPlayComplete); KHUIManager.Instance.Dispatcher.addEventListener(LevelSelectModel.CHAPTER_ITEM_PLAY_EXIT_ANIM_COMPLETE, OnExitAnimPlayComplete); HideAllJuanzhou(); } else { JumpToDungeonView(); } } else if (clickItemPlayAnimSwitch == 2) // 卷轴和人物的退出动画都要播 { // 播完动画再跳转 curEvtCount = 0; isExitAnimPlaying = true; KHUIManager.Instance.Dispatcher.removeEventListener(LevelSelectModel.CHAPTER_ITEM_PLAY_EXIT_ANIM_COMPLETE, OnExitAnimPlayComplete); KHUIManager.Instance.Dispatcher.addEventListener(LevelSelectModel.CHAPTER_ITEM_PLAY_EXIT_ANIM_COMPLETE, OnExitAnimPlayComplete); HideAllJuanzhou(); } else // 不播动画 { JumpToDungeonView(); } MessageManager.Instance.serializeToLocal( new MouseAction(this, RemoteModel.Instance.CurrentTime), MessageManager.DEST_PATH_MOUSE_EVENT); }
public void OnClickButton(UIPlayerBar.BtnDestination btnDest) { if (KHVer.IsOfflineMatch) { if (btnDest != UIPlayerBar.BtnDestination.Match && btnDest != UIPlayerBar.BtnDestination.PVPRealTime) { UIAPI.ShowMsgTip("赛事版本,该功能暂不开放"); return; } } UIEntryElement ele = null; mainPageEntrys.TryGetValue(btnDest, out ele); if (ele == null) { Debuger.Log("OnClickButton, btn:" + btnDest + ", not binding logic UIEntryElement"); return; } // 新手引导通知 if (btnDest != UIPlayerBar.BtnDestination.None) { KHUIManager.getInstance().dispatchClickToGuideEvent(ele.gameObject.tag); } // 如果未开启,则显示系统开启提示 if (CheckShowNextOpenSysTipIfLock(btnDest)) { return; } if (DefineExt.shieldSystemLst.Contains((uint)LockSysHash.StateBit_2_Excel[LockSysHash.BtnDestination_2_StateBit[btnDest]])) { UIAPI.ShowMsgTip("客户端不是最新版本,无法参加当前玩法,请更新版本后尝试"); return; } if (KHLowDeviceManager.GetLowDeviceShield((uint)LockSysHash.StateBit_2_Excel[LockSysHash.BtnDestination_2_StateBit[btnDest]])) { return; } if (false && !playerEntity.GetOpenInfo(LockSysHash.BtnDestination_2_StateBit[btnDest])) { int configId = LockSysHash.getConfigByBtnDestination(btnDest); FeatureUnlockConfig conf = null; GeneralTableConfig.getInstance().FeatureDefine.TryGetValue(configId, out conf); if (conf != null) { UIAPI.ShowMsgTip(conf.tip); } else { Debuger.LogWarning("未找到对应的解锁配置, Id = " + configId); } } switch (btnDest) { case UIPlayerBar.BtnDestination.None: break; case UIPlayerBar.BtnDestination.FullFood: KHPluginManager.Instance.SendMessage(FullFoodPlugin.NAME, "ShowView", new ShowViewArgument(UIDef.FULL_FOOD_MAIN_PANEL_VIEW)); break; case UIPlayerBar.BtnDestination.CityShop: KHPluginManager.Instance.SendMessage("Shop", "ShowView", new ShowViewArgument(UIDef.SHOP_UI, true, 1u)); break; case UIPlayerBar.BtnDestination.EliteLevel: KHPluginManager.Instance.SendMessage(LevelSelectPlugin.pluginName, "ShowView", new ShowViewArgument(UIDef.LEVEL_SELECT_CHAPTER, needBg: false, data: UILevelSelectMainView.LevelSelectMainViewTabEnum.Elite)); break; case UIPlayerBar.BtnDestination.Talent: KHPluginManager.Instance.SendMessage("NewTalentPlugin", "OpenSystem"); break; case UIPlayerBar.BtnDestination.MissonMode: UIAPI.ShowMsgTip("功能尚未开放"); break; case UIPlayerBar.BtnDestination.SurvivalChallenge: //KHPluginManager.Instance.SendMessage(SurvivalChallPlugin.pluginName, SurvivalChallOperation.OperRequestEnter); KHPluginManager.Instance.SendMessage("Mirage", "ShowView", new ShowViewArgument(UIDef.MIRAGE_PRACTICE_VIEW)); break; case UIPlayerBar.BtnDestination.MirageMode: KHPluginManager.Instance.SendMessage("Mirage", "Mirage.GetMirageData"); break; case UIPlayerBar.BtnDestination.NewPVPMode: KHPluginManager.Instance.SendMessage(PvPUIPlugin2.PluginName, "OpenSystem"); break; case UIPlayerBar.BtnDestination.PVPRealTime: //KHPluginManager.Instance.SendMessage("ArenaPlugin", "OpenHomeView"); KHUtil.GoToPvpMainView(null, true, true); break; case UIPlayerBar.BtnDestination.TeamPVE: KHPluginManager.Instance.SendMessage("TeamPVEUI", "ShowView", new ShowViewArgument(UIDef.TEAMPVE_MAIN_VIEW)); break; case UIPlayerBar.BtnDestination.Guild: KHPluginManager.Instance.SendMessage(GuildPlugin.pluginName, GuildOperation.ClickGuild, false); //KHPluginManager.Instance.GetPluginByName("DramaPlugin").ShowView("UILua/Drama/DramaView", false); break; case UIPlayerBar.BtnDestination.RankingView: KHPluginManager.Instance.SendMessage(RankListPlugin.NAME, "ShowView", new ShowViewArgument(UIDef.RANK_LIST_VIEW)); break; case UIPlayerBar.BtnDestination.NinjaTask: KHPluginManager.Instance.SendMessage(NinjaTaskPlugin.pluginName, NinjaTaskOperation.OpenNinjaTask); break; case UIPlayerBar.BtnDestination.TeamGroup: //KHPluginManager.Instance.SendMessage(GroupPlugin.pluginName, GroupOperation.ClickGroup); KHPluginManager.Instance.SendMessage("MysticalDuplicatePlugin", "OnOpen"); break; case UIPlayerBar.BtnDestination.Match: if (KHVer.IsOfflineMatch) { KHUtilForLua.SendMessageForLuaSystem("OfflineMatchPlugin", "OpenFirstView", null); } else { LuaSystemPlugin sysPlugin = KHPluginManager.Instance.GetPluginByName("MatchMainEntrancePlugin") as LuaSystemPlugin; sysPlugin.CallLuaFunctionToOperation("kihan.match.MatchMainEntranceOperation", "OpenSystem", null); } break; case UIPlayerBar.BtnDestination.KizunaContest: //KHPluginManager.Instance.SendMessage("KizunaContestEntrancePlugin", "TryEnter"); break; case UIPlayerBar.BtnDestination.GuildHegemony: KHPluginManager.Instance.SendMessage("GuildHegemonyPlugin", "Query"); break; case UIPlayerBar.BtnDestination.ZoneFightMatch: KHPluginManager.Instance.SendMessage(ZoneFightMatchPlugin.pluginName, ZoneFightMatchOperation.OpenEntranceView); break; case UIPlayerBar.BtnDestination.Main_NinjaFight: //KHPluginManager.Instance.SendMessage("MysticalDuplicatePlugin", "OnOpen"); KHPluginManager.Instance.SendMessage(TeamPlugin.pluginName, TeamOperation.EnterTeamScene); break; case UIPlayerBar.BtnDestination.Drama: KHUIManager.Instance.ShowFlyNext(true, () => { KHPluginManager.Instance.SendMessage("MainUI", "HideView", "MainUI"); KHPluginManager.Instance.SendMessage("MainUI", "HideView", "PlayerBarUI"); KHPluginManager.Instance.GetPluginByName("DramaPlugin").ShowView("UILua/Drama/DramaView", false); }); break; default: break; } }