///// <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);
            }
        }
    }
예제 #2
0
        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();
        }
예제 #3
0
        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();
        }
예제 #4
0
        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();
    }
예제 #6
0
 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);
        }
    }
예제 #10
0
    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);
    }
예제 #11
0
        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;
            }
        }