using System; using System.Collections.Generic; using vnxbqy.UI; using System.Collections; public class WindowJumpMgr : Singleton { private FuncConfigConfig funcOpenBagItem = null; public WindowJumpMgr() { ParseWindowSearchConfig(); IsJumpState = false; funcOpenBagItem = FuncConfigConfig.Get("OpenBagItem"); StageLoad.Instance.onStartStageLoadingEvent += ClearCurRecord; GlobalTimeEvent.Instance.secondEvent += SecondRefresh; } private Window preWin = null; // 仿 WindowSearchEx 使用,提供配表和非配表跳转 struct WindowSearchEx { public int ID; public int Type; public int Lv; public int TABID; public string SelectActive; public string WindowName; public void Clear() { ID = 0; Type = 0; Lv = 0; TABID = 0; SelectActive = string.Empty; WindowName = string.Empty; } } private WindowSearchEx _tagWinSearchModel; //private WindowSearchConfig _tagWinSearchModel; private Dictionary> openWindows = new Dictionary>(); public Dictionary jumpWinNameDict = new Dictionary(); PetModel petmodel { get { return ModelCenter.Instance.GetModel(); } } PlayerDeadModel DeadModel { get { return ModelCenter.Instance.GetModel(); } } TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel(); } } DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel(); } } PetModel petModel { get { return ModelCenter.Instance.GetModel(); } } MountModel mountModel { get { return ModelCenter.Instance.GetModel(); } } TreasureFindHostModel hostModel { get { return ModelCenter.Instance.GetModel(); } } FairyModel fairyModel { get { return ModelCenter.Instance.GetModel(); } } DailyQuestModel dailyQuestModel { get { return ModelCenter.Instance.GetModel(); } } TrialDungeonModel trialDungeonModel { get { return ModelCenter.Instance.GetModel(); } } ImpactRankModel rankModel { get { return ModelCenter.Instance.GetModel(); } } ComposeWinModel composeModel { get { return ModelCenter.Instance.GetModel(); } } MapModel mapModel { get { return ModelCenter.Instance.GetModel(); } } StoreModel storeModel { get { return ModelCenter.Instance.GetModel(); } } SkyTowerModel skyModel { get { return ModelCenter.Instance.GetModel(); } } PackModel packModel { get { return ModelCenter.Instance.GetModel(); } } #region 解析本地数据 public Dictionary windowSearchDataDict { get; private set; } private void ParseWindowSearchConfig() { windowSearchDataDict = new Dictionary(); List searchConfigs = WindowSearchConfig.GetValues(); for (int i = 0; i < searchConfigs.Count; i++) { var searchConfig = searchConfigs[i]; WindowSearchData searchData = new WindowSearchData(); searchData.id = searchConfig.ID; searchData.searchConfig = searchConfig; searchData.conditions = ConfigParse.GetMultipleStr(searchConfig.SelectActive); if (!windowSearchDataDict.ContainsKey(searchConfig.ID)) { windowSearchDataDict.Add(searchConfig.ID, searchData); } } } WindowSearchData GetSearchData(int id) { WindowSearchData searchData = null; windowSearchDataDict.TryGetValue(id, out searchData); return searchData; } public class WindowSearchData { public int id; public WindowSearchConfig searchConfig; public int[] conditions; } #endregion public bool IsJumpState { get; private set; } public int jumpPhase { get; private set; } public int jumpType { get; private set; } void GetPreAllOpenWin() { jumpPhase += 1; var windowKeys = WindowCenter.Instance.GetAll(); for (int i = 0; i < windowKeys.Count; i++) { var key = windowKeys[i]; var type = WindowCenter.Instance.GetWindowType(key); if (type >= WindowType.Tip && type <= WindowType.Loading) { continue; } if (key == "UpgradeWin") { continue; } if (WindowCenter.Instance.IsOpen(key) && key != "NewBieWin") { if (!openWindows.ContainsKey(jumpPhase)) { List list = new List(); list.Add(key); openWindows.Add(jumpPhase, list); } else { openWindows[jumpPhase].Add(key); } } } IsJumpState = true; } private void ClearCurRecord(int mapId) { IsJumpState = false; jumpPhase = 0; jumpType = 0; openWindows.Clear(); jumpWinNameDict.Clear(); WindowCenter.Instance.jumpWindowCloseEvent -= CloseWindow; } // 程序内容使用 非配表, 用于支持openType,参考界面索引表 public void WindowJumpToEx(string winName, int openType = 1, int funcID = 40, int functionOrder = 0, bool sync = true) { //funcID 40是地图功能 此处借用于默认值 _tagWinSearchModel.Clear(); _tagWinSearchModel.ID = 88888; _tagWinSearchModel.Type = openType; _tagWinSearchModel.TABID = functionOrder; _tagWinSearchModel.Lv = funcID; _tagWinSearchModel.WindowName = winName; if (!CheckIsJumpEx()) return; SetJumpLogic(winName, functionOrder, sync); } // 配表跳转界面 public void WindowJumpTo(JumpUIType jumpType) { if (!CheckIsJump(jumpType)) return; DebugEx.Log("WindowJumpTo" + jumpType); if (_tagWinSearchModel.WindowName != string.Empty) { SetJumpLogic(_tagWinSearchModel.WindowName, _tagWinSearchModel.TABID, true); return; } #region 条件判段 int jumpIndex = 0; switch (jumpType) { case JumpUIType.RoleFunc1: case JumpUIType.RoleFunc2: case JumpUIType.RoleFunc3: case JumpUIType.RoleFunc4: case JumpUIType.GatherSoul272: case JumpUIType.GatherSoul273: case JumpUIType.FashionDress280: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.KnapSackFunc1: case JumpUIType.KnapSackFunc2: case JumpUIType.KnapSackFunc3: case JumpUIType.KnapSackFunc4: case JumpUIType.KnapSackFunc5: case JumpUIType.KnapSackFunc1Type2: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.SkillFunc1: case JumpUIType.SkillFunc2: case JumpUIType.SkillFunc3: case JumpUIType.SkillFunc2Type2: case JumpUIType.TreasureSkill: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.StrengthFunc1: case JumpUIType.StrengthFunc2: case JumpUIType.StrengthFunc3: case JumpUIType.StrengthFunc4: case JumpUIType.StrengthFunc5: case JumpUIType.EquipWashType2: case JumpUIType.StrengthFunc1Type2: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.EquipHighSuit: case JumpUIType.EquipLowSuit: break; case JumpUIType.ComposeFunc1: case JumpUIType.ComposeFunc2: case JumpUIType.ComposeFunc3: case JumpUIType.ComposeFunc4: case JumpUIType.ComposeFunc5: case JumpUIType.TicketCompose1: case JumpUIType.TicketCompose2: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.GatherSoul271: composeModel.SetCurComposeModel(null); SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.EquipCompose1: case JumpUIType.EquipCompose2: case JumpUIType.EquipCompose3: case JumpUIType.EquipCompose4: case JumpUIType.EquipCompose265: case JumpUIType.EquipCompose266: case JumpUIType.EquipCompose267: case JumpUIType.EquipCompose268: case JumpUIType.EquipCompose269: case JumpUIType.EquipCompose270: case JumpUIType.EquipCompose291: case JumpUIType.EquipCompose293: case JumpUIType.EquipCompose294: case JumpUIType.EquipCompose295: case JumpUIType.EquipCompose296: case JumpUIType.EquipCompose297: case JumpUIType.EquipCompose298: case JumpUIType.ToolCompose305: int[] types = GetSearchData(_tagWinSearchModel.ID).conditions; if (types.Length > 2) { ComposeEquipWin.selectEquipPlace = types[2]; composeModel.SetJumpToModel(TableIndexToComposeFuncType(_tagWinSearchModel.TABID), types[0], types[1]); SetJumpLogic(_tagWinSearchModel.TABID); } else if (types.Length > 1) { composeModel.SetJumpToModel(TableIndexToComposeFuncType(_tagWinSearchModel.TABID), types[0], types[1]); SetJumpLogic(_tagWinSearchModel.TABID); } break; case JumpUIType.RuneFunc1: case JumpUIType.RuneFunc2: case JumpUIType.RuneFunc3: case JumpUIType.RuneFunc4: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.UnionStore: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.FairyStore1: int.TryParse(_tagWinSearchModel.SelectActive, out storeModel.fairyStoreJumpShopId); SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.LSStore1: case JumpUIType.LSStore2: case JumpUIType.LSStore3: case JumpUIType.LSStore4: case JumpUIType.LSStore5: int itemID; int.TryParse(_tagWinSearchModel.SelectActive, out itemID); storeModel.SetJumpToModel(itemID); //storeModel.storeFuncType = StoreFunc.IntegralStore; storeModel.selectSecondType = StoreConfig.GetStoreCfg(itemID, 2, 5).SecondType[0]; SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.UnionFunc1: case JumpUIType.UnionFunc2: case JumpUIType.UnionFunc3: case JumpUIType.UnionFunc4: case JumpUIType.UnionFunc5: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.PetFunc1: case JumpUIType.PetFunc2: case JumpUIType.MountType2: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.PetStone: //if (ItemOperateUtility.Instance.useItemModel != null) //{ // petModel.PetStoneItemId = ItemOperateUtility.Instance.useItemModel.itemId; //} SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.Treasure: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.WorldChat: ChatCtrl.Inst.presentChatType = ChatInfoType.World; SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.Chat_Trumpet: ChatCtrl.Inst.presentChatType = ChatInfoType.Trumpet; SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.PrivateChat: ChatCtrl.Inst.presentChatType = ChatInfoType.Friend; SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.DailyQuestFunc1: case JumpUIType.DailyQuestFunc2: case JumpUIType.DailyQuestFunc3: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.RoleTitle: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.RealmFunc1: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.RolePoint: SetJumpLogic(1); break; case JumpUIType.MainTask: TaskModel taskDatas = ModelCenter.Instance.GetModel(); taskDatas.AutomaticTripToTask(taskDatas.currentMission); SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.BigMap: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.WorldMap: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.MountStone: //if (ItemOperateUtility.Instance.useItemModel != null) //{ // mountModel.MountStoneItemId = ItemOperateUtility.Instance.useItemModel.itemId; //} SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.MountSkill: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.MountAppearance: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.IceCrystal: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.FairyLand: GotoNormalDungeon((int)DailyQuestType.FairyLand); break; case JumpUIType.Daily_Kirin: case JumpUIType.Daily_BountyMission: case JumpUIType.Daily_IceCrystal: case JumpUIType.Daily_Trial: case JumpUIType.Daily_FairyLand: case JumpUIType.Daily_GuardSky: case JumpUIType.Daily_Demon: case JumpUIType.Daily_ElderGodArea: case JumpUIType.Daily_AncientBattleGround: case JumpUIType.Daily_EmperorRelic: case JumpUIType.Daily_FairyTask: case JumpUIType.Daily_GatherSoul274: case JumpUIType.Daily_FairyFeast: case JumpUIType.Daily_FairyMatches: case JumpUIType.Daily_ActivityPlace: var dailyQuestId = 0; int.TryParse(_tagWinSearchModel.SelectActive, out dailyQuestId); dailyQuestModel.wannaLookDailyQuest = dailyQuestId; SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.DayQuest54: var autoFix = 0; if (skyModel.highestPassFloor <= 9) autoFix = 36; else if (dailyQuestModel.usableActivePoint > 200) autoFix = 35; else autoFix = 17; dailyQuestModel.wannaLookDailyQuest = autoFix; SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.CrossServerOneVsOne275: case JumpUIType.CrossServerOneVsOne276: case JumpUIType.CrossServerOneVsOne277: case JumpUIType.CrossServerOneVsOne278: case JumpUIType.CrossServerOneVsOne279: int oneVsOneFuncId = 0; int.TryParse(_tagWinSearchModel.SelectActive, out oneVsOneFuncId); CrossServerOneVsOneWin.funcId = oneVsOneFuncId; SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.CrossServerBoss: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.AncientBattle: GotoNormalDungeon((int)DailyQuestType.AncientBattleGround, dungeonModel.GetBelongToLine((int)DailyQuestType.AncientBattleGround)); break; case JumpUIType.XMZZBattle: GotoHeavenBattleDungeon((int)DailyQuestType.HeavenBattle); break; case JumpUIType.GridExtend: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.StoreFunc1: case JumpUIType.StoreFunc2: case JumpUIType.StoreFunc3: case JumpUIType.StoreFunc4: case JumpUIType.StoreFunc5: case JumpUIType.XianYuanCoinsStore: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.VipRechargeFunc1: case JumpUIType.VipRechargeFunc2: case JumpUIType.VipRechargeFunc4: if (VersionConfig.Get().isBanShu) { SysNotifyMgr.Instance.ShowTip("FuncNoOpen_VIP"); break; } SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.VipRechargeVip2: case JumpUIType.VipRechargeVip3: case JumpUIType.VipRechargeVip4: case JumpUIType.VipRechargeVip5: case JumpUIType.VipRechargeVip6: case JumpUIType.VipRechargeVip7: case JumpUIType.VipRechargeVip8: case JumpUIType.VipRechargeVip9: case JumpUIType.VipRechargeVip10: case JumpUIType.VipRechargeVip1: case JumpUIType.VIP11: case JumpUIType.VIP12: case JumpUIType.VIP13: case JumpUIType.VIP14: case JumpUIType.VIP15: case JumpUIType.VIP16: case JumpUIType.VIP17: case JumpUIType.VIP18: case JumpUIType.VIP19: case JumpUIType.VIP20: case JumpUIType.VIP21: case JumpUIType.VIP22: case JumpUIType.VIP23: case JumpUIType.VIP24: if (VersionConfig.Get().isBanShu) { SysNotifyMgr.Instance.ShowTip("FuncNoOpen_VIP"); break; } var _vipLv = 1; if (int.TryParse(_tagWinSearchModel.SelectActive, out _vipLv)) { ModelCenter.Instance.GetModel().gotoVipLv = _vipLv; } SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.PlotTaskFunc3: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.FindPreciousFrameFunc1: case JumpUIType.FindPreciousFrameFunc2: case JumpUIType.FindPreciousFrameFunc3: case JumpUIType.FindPreciousFrameFunc4: case JumpUIType.FindPreciousFrameFunc5: case JumpUIType.FindPreciousFrameFunc6: case JumpUIType.FindPreciousFrameFunc2Type2: case JumpUIType.FindPreciousFrameFunc4Type2: case JumpUIType.JadeDynastyBoss290: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.FairyGrabBoss: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.LootPreciousFrameSpec: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.BlastFurnaceFunc1: case JumpUIType.AlchemyNormal: case JumpUIType.AlchemyFairy: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.MyTeamType1: case JumpUIType.TeamListType1: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.Team_EmperorRelic: case JumpUIType.Team_TrialDungeon: var model = ModelCenter.Instance.GetModel(); model.missionBuf = new TeamMission(int.Parse(_tagWinSearchModel.SelectActive), 0); SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.VipExperience: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.RuneTower: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.RuneTowerSpec: RuneTowerWin.guideChallenge = true; SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.WelfareFunc1: case JumpUIType.WelfareFunc2: case JumpUIType.WelfareFunc3: case JumpUIType.WelfareFunc2Type2: case JumpUIType.XXZL: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.SystemSettingFunc1: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.RebornOpenBag: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.RebornOpenAddPoint: SetJumpLogic(1); break; case JumpUIType.RebornOpenHourse: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.RebornOpenStrength: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.RebornOpenPet: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.BountyInterface: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.RedPacket: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.TreasureFunc1: case JumpUIType.Type1TreasureFunc1: treasureModel.currentCategory = TreasureCategory.Human; SetJumpLogic(); break; //case JumpUIType.TreasureFunc2: //case JumpUIType.Type1TreasureFunc2: // treasureModel.currentCategory = TreasureCategory.Demon; // SetJumpLogic(); // break; case JumpUIType.TreasureFunc3: case JumpUIType.Type1TreasureFunc3: treasureModel.currentCategory = TreasureCategory.Fairy; treasureModel.treasureGotoId = int.Parse(_tagWinSearchModel.SelectActive); SetJumpLogic(); break; case JumpUIType.UnionWarehouse: DebugEx.LogError("原本仙盟仓库已删除"); break; case JumpUIType.UnionHall: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.UnionMethod: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.UnionTask: case JumpUIType.UnionTask2: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.UnionActive1: case JumpUIType.UnionActive2: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.UnionBoss: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.RealmPractice1: case JumpUIType.RealmPractice2: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.AddFriend1: case JumpUIType.AddFriend2: ModelCenter.Instance.GetModel().OnSendCA9A3_tagCGQueryRecommendFriends(); SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.UnionChat1: case JumpUIType.UnionChat2: ChatCtrl.Inst.presentChatType = (ChatInfoType)(int.Parse(_tagWinSearchModel.SelectActive) - 1); switch (ChatCtrl.Inst.presentChatType) { case ChatInfoType.Team: case ChatInfoType.Fairy: SetJumpLogic(_tagWinSearchModel.TABID); break; default: SetJumpLogic(_tagWinSearchModel.TABID); break; } break; case JumpUIType.UseNormalDrug: case JumpUIType.UseFairyDrug: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.SevenDaysTour281: case JumpUIType.SevenDaysTour282: case JumpUIType.SevenDaysTour283: case JumpUIType.SevenDaysTour284: case JumpUIType.SevenDaysTour285: case JumpUIType.SevenDaysTour286: case JumpUIType.SevenDaysTour287: var sevenDaysModel = ModelCenter.Instance.GetModel(); int.TryParse(_tagWinSearchModel.SelectActive, out jumpIndex); sevenDaysModel.JumpIndex = jumpIndex; SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.NewYearTour299: case JumpUIType.NewYearTour300: case JumpUIType.NewYearTour301: case JumpUIType.NewYearTour302: var springFestivalModel = ModelCenter.Instance.GetModel(); jumpIndex = 0; int.TryParse(_tagWinSearchModel.SelectActive, out jumpIndex); springFestivalModel.JumpIndex = jumpIndex; SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.TreasureFindHostFunc1: case JumpUIType.TreasureFindHostFunc2: case JumpUIType.TreasureFindHostFunc3: case JumpUIType.TreasureFindHostFunc1Type2: case JumpUIType.TreasureFindHostFunc2Type2: case JumpUIType.TreasureFindHostFunc3Type2: case JumpUIType.TreasureFindHost_LLBT_Type1: case JumpUIType.TreasureFindHost_LLBT_Type2: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.Alchemyrescripte104: case JumpUIType.Alchemyrescripte105: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.AttackMagicianType1: case JumpUIType.AttackMagicianType2: ModelCenter.Instance.GetModel().gotoType = int.Parse(_tagWinSearchModel.SelectActive); SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.TreasureSoul: break; case JumpUIType.Kylin: dungeonModel.currentDungeon = new Dungeon(31190, 0); SetJumpLogic(0); break; case JumpUIType.Kylin1: case JumpUIType.Kylin2: case JumpUIType.Kylin3: case JumpUIType.Kylin4: case JumpUIType.Kylin5: case JumpUIType.Kylin6: int tier = 0; int.TryParse(_tagWinSearchModel.SelectActive, out tier); GotoKylinDungeon(tier); break; case JumpUIType.VipRechargeFunc3: case JumpUIType.OSTimeLimitGift: case JumpUIType.FlashSale: case JumpUIType.ConsumreRebate: case JumpUIType.BossReborn: case JumpUIType.OpenServerGift: case JumpUIType.OpenServerGift1: case JumpUIType.OpenServerGift2: case JumpUIType.OpenServerGift3: case JumpUIType.OpenServerGift4: case JumpUIType.LimitedTimePackage: case JumpUIType.FlashRushToBuy: case JumpUIType.BindGoldWheel: case JumpUIType.OpenServer_AccumulateRecharge: case JumpUIType.FestivalRedBag303: case JumpUIType.LoginReward307: case JumpUIType.LuckyTreasure306: case JumpUIType.DayPackage: case JumpUIType.OpenServer_SuperUP: case JumpUIType.OpenServer_DaysAccumulateRecharge: case JumpUIType.OpenServer_JZYY: case JumpUIType.default1: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.OpenServer_LoginTZ: case JumpUIType.OpenServer_LevelTZ: case JumpUIType.OpenServer_BossTZ: InvestModel.Instance.SetDefaultJumpType(int.Parse(_tagWinSearchModel.SelectActive)); SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.OpenServerRank: case JumpUIType.OpenServerMountRank: var type = int.Parse(_tagWinSearchModel.SelectActive); ModelCenter.Instance.GetModel().gotoImpactRankType = type; SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.HolidayWishBottle: case JumpUIType.HolidayAccumulateRecharge: case JumpUIType.HolidayCollectWords: case JumpUIType.HolidayLimitedTimePackage: case JumpUIType.HolidayFlashRushToBuy: case JumpUIType.HolidayFlashSale: case JumpUIType.HolidayConsumreRebate: case JumpUIType.HolidayDaysAccumulateRecharge: case JumpUIType.default4: case JumpUIType.default5: case JumpUIType.default63: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.OpenServerActivityFunc2_1: case JumpUIType.OpenServerActivityFunc2_2: ModelCenter.Instance.GetModel().JumpType = int.Parse(_tagWinSearchModel.SelectActive) + 1; SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.MonthInvest: case JumpUIType.WeekInvest: ModelCenter.Instance.GetModel().jumpType = int.Parse(_tagWinSearchModel.SelectActive); SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.VipRechargeFunc5: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.BestXB: case JumpUIType.RuneXB: case JumpUIType.XBStore: case JumpUIType.XBWarehouse: case JumpUIType.BestXBType2: case JumpUIType.RuneXBType2: case JumpUIType.XBStoreType2: case JumpUIType.XBWarehouseType2: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.XBStore_1: case JumpUIType.XBStore_2: case JumpUIType.XBStore_3: case JumpUIType.XBStore_4: var jumpStoreFuncType = 0; int.TryParse(_tagWinSearchModel.SelectActive, out jumpStoreFuncType); storeModel.jumpStoreFuncType = jumpStoreFuncType; SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.ComposeTicketFairy: case JumpUIType.ComposeTicketGod: case JumpUIType.ComposeTicketIce: int[] composeTypelist = GetSearchData(_tagWinSearchModel.ID).conditions; composeModel.SetJumpToModel(TableIndexToComposeFuncType(_tagWinSearchModel.TABID), composeTypelist[0], composeTypelist[1]); SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.TrialDungeonSelect: GotoTrialDungeon((int)DailyQuestType.Trial); break; case JumpUIType.TrialDungeonSelect1: case JumpUIType.TrialDungeonSelect2: case JumpUIType.TrialDungeonSelect3: int[] dungeonInfos = GetSearchData(_tagWinSearchModel.ID).conditions; Dungeon dungeon = new Dungeon(dungeonInfos[0], dungeonInfos[1]); dungeonModel.selectedTrialDungeon = dungeon; SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.CeremonyRecharge: case JumpUIType.CeremonyFire: case JumpUIType.CeremonyPeopleToHi: case JumpUIType.CeremonyOutof: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.DogzFunc1Type1: case JumpUIType.DogzFunc1Type2: case JumpUIType.DogzFunc2Type1: case JumpUIType.DogzFunc2Type2: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.DungeonAssitCheckIn: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.FaBaoSoul_BenYuan: case JumpUIType.FaBaoSoul_FengMo: case JumpUIType.FaBaoSoul_Strength: case JumpUIType.FaBaoSoul_Rune: case JumpUIType.FaBaoSoul_Mount: case JumpUIType.FaBaoSoul_Pet: case JumpUIType.FaBaoSoul_Boss: case JumpUIType.FaBaoSoul_Wings: case JumpUIType.FaBaoSoul_Suit: case JumpUIType.FaBaoSoul_Wash: break; case JumpUIType.XianBaguaIntr: case JumpUIType.XyjJs: case JumpUIType.BGLJS: case JumpUIType.LFZJS: case JumpUIType.YLJJS: case JumpUIType.SBXZJS: case JumpUIType.KLJJS: case JumpUIType.TJYJS: case JumpUIType.LLBT: treasureModel.currentCategory = TreasureCategory.Fairy; treasureModel.selectedTreasure = int.Parse(_tagWinSearchModel.SelectActive); SetJumpLogic(_tagWinSearchModel.TABID); break; //case JumpUIType.FYZJTyp1: //case JumpUIType.FYZJTyp2: //case JumpUIType.SHLTyp1: //case JumpUIType.SHLTyp2: // treasureModel.currentCategory = TreasureCategory.Demon; // treasureModel.selectedTreasure = int.Parse(_tagWinSearchModel.SelectActive); // SetJumpLogic(_tagWinSearchModel.TABID); // break; case JumpUIType.DhszTs: case JumpUIType.HyqTs: case JumpUIType.GyzTs: case JumpUIType.LqhTs: case JumpUIType.PlyTs: case JumpUIType.XhqTs: case JumpUIType.DhzTs: case JumpUIType.ZjhlTs: case JumpUIType.YldTs: case JumpUIType.StfTs: case JumpUIType.Srsgs: treasureModel.currentCategory = TreasureCategory.Human; var displayId = treasureModel.IsRequireUnlockAnim(TreasureCategory.Human); if (displayId != 0) { treasureModel.treasureGotoId = displayId; SetJumpLogic(); } else { treasureModel.selectedTreasure = int.Parse(_tagWinSearchModel.SelectActive); SetJumpLogic(_tagWinSearchModel.TABID); } break; case JumpUIType.FirstRecharge: SetJumpLogic(_tagWinSearchModel.TABID, true); break; case JumpUIType.PrayforDrug: break; case JumpUIType.JadeDynastyTower288: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.JadeDynastyTowerRank289: var rankModel = ModelCenter.Instance.GetModel(); rankModel.jumpRankType = int.Parse(_tagWinSearchModel.SelectActive); SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.GameRank: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.AllianceBoss1: case JumpUIType.AllianceBoss2: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.FairyAuction: case JumpUIType.FullServerAuction: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.HazyRegion: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.ActivityPlace: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.GotoFight: var point = mapModel.GetRecommendHangPoint(); var mapEventConfig = MapEventPointConfig.Get(point); mapModel.wannaLookLocalMap = mapEventConfig.DataMapID; WindowCenter.Instance.Close(); WindowCenter.Instance.Open(); break; case JumpUIType.Alchemy1: case JumpUIType.Alchemy2: case JumpUIType.Alchemy3: case JumpUIType.Alchemy4: case JumpUIType.Alchemy5: case JumpUIType.Alchemy6: case JumpUIType.Alchemy7: case JumpUIType.Alchemy8: case JumpUIType.Alchemy9: case JumpUIType.Alchemy10: case JumpUIType.Alchemy11: var selectAlchemy = 0; int.TryParse(_tagWinSearchModel.SelectActive, out selectAlchemy); ModelCenter.Instance.GetModel().jumpAlchemy = selectAlchemy; SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.RealmEquip1: var equipLevel = 0; int.TryParse(_tagWinSearchModel.SelectActive, out equipLevel); ModelCenter.Instance.GetModel().SelectSet(equipLevel); SetJumpLogic(0); break; case JumpUIType.RolePromote: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.RealmEquip: SetJumpLogic(0); break; case JumpUIType.AutionEquipInPack: string equipGuid = packModel.GetAuctionEquip(); if (equipGuid != string.Empty) { packModel.SetLookIndex(equipGuid); WindowCenter.Instance.Close(); WindowCenter.Instance.Open(false, 0); } SetJumpLogic(0); break; case JumpUIType.WorldBossCountWin: SetJumpLogic(); break; case JumpUIType.ExchangeActiveToken: SetJumpLogic(); break; case JumpUIType.SpiritWeapon: SetJumpLogic("SpiritEquipWin", 0, false); break; case JumpUIType.SpiritBreach: SetJumpLogic("SpiritEquipWin", 1, false); break; case JumpUIType.ActivityReward: SetJumpLogic(_tagWinSearchModel.TABID); break; case JumpUIType.default8: case JumpUIType.default9: case JumpUIType.default10: case JumpUIType.default11: case JumpUIType.default12: case JumpUIType.default13: WindowJumpToEx("FosterWin"); break; default: DebugEx.Log("未添加此跳转界面:" + jumpType); IsJumpState = false; openWindows.Clear(); jumpWinNameDict.Clear(); jumpType = 0; jumpPhase = 0; break; } #endregion } private bool CheckIsJumpEx() { if (_tagWinSearchModel.ID == 0) { return false; } if (!FuncOpen.Instance.IsFuncOpen(_tagWinSearchModel.Lv) && _tagWinSearchModel.Lv != 0) { FuncOpen.Instance.ProcessorFuncErrorTip(_tagWinSearchModel.Lv); return false; } if (!CheckIsJumpByWinName(_tagWinSearchModel.WindowName)) { return false; } return true; } public bool CheckIsJumpByWinName(string winName) { if (string.IsNullOrEmpty(winName)) { return true; } switch (winName) { case "SecretPlaceActWin": if (!ModelCenter.Instance.GetModel().IsOpen) { SysNotifyMgr.Instance.ShowTip("InOperationTimeError"); return false; } break; case "BossTrialActWin": if (!ModelCenter.Instance.GetModel().IsOpen) { SysNotifyMgr.Instance.ShowTip("InOperationTimeError"); return false; } break; case "PetHorseActWin": if (!ModelCenter.Instance.GetModel().IsOpen) { SysNotifyMgr.Instance.ShowTip("InOperationTimeError"); return false; } break; case "TreasurePavilionRankActWin": if (!ModelCenter.Instance.GetModel().IsOpen) { SysNotifyMgr.Instance.ShowTip("InOperationTimeError"); return false; } break; } return true; } public bool CheckIsJump(JumpUIType jumpType) { _tagWinSearchModel.Clear(); var tmpWinSearchModel = WindowSearchConfig.Get((int)jumpType); if (tmpWinSearchModel == null) { return false; } _tagWinSearchModel.ID = tmpWinSearchModel.ID; _tagWinSearchModel.Type = tmpWinSearchModel.Type; _tagWinSearchModel.Lv = tmpWinSearchModel.Lv; _tagWinSearchModel.TABID = tmpWinSearchModel.TABID; _tagWinSearchModel.SelectActive = tmpWinSearchModel.SelectActive; _tagWinSearchModel.WindowName = tmpWinSearchModel.windowname; if (!FuncOpen.Instance.IsFuncOpen(_tagWinSearchModel.Lv) && _tagWinSearchModel.Lv != 0) { FuncOpen.Instance.ProcessorFuncErrorTip(_tagWinSearchModel.Lv); return false; } if (!CheckIsJumpByWinName(_tagWinSearchModel.WindowName)) { return false; } switch (jumpType) { case JumpUIType.UnionFunc1: case JumpUIType.UnionFunc2: case JumpUIType.UnionWarehouse: case JumpUIType.UnionHall: case JumpUIType.UnionActive1: case JumpUIType.UnionActive2: if (!PlayerDatas.Instance.fairyData.HasFairy) { SysNotifyMgr.Instance.ShowTip("DailyQuestwinUnionLimit"); return false; } break; case JumpUIType.UnionBoss: if (!fairyModel.fairyBossFuncOpen) { fairyModel.ProcessFairyBossErrorTip(); return false; } break; case JumpUIType.UnionMethod: if (!fairyModel.fairyMethodToOpen) { fairyModel.ProcessMethodToErrorTip(); return false; } break; case JumpUIType.UnionStore: case JumpUIType.FairyStore1: if (!fairyModel.fairyStoreOpen) { fairyModel.ProcessErrorTip(); return false; } break; case JumpUIType.BigMap: if (!mapModel.CanOpenLocalMapWin(PlayerDatas.Instance.baseData.MapID)) { SysNotifyMgr.Instance.ShowTip("MapInfo1"); return false; } break; case JumpUIType.TreasureFindHostFunc1: case JumpUIType.TreasureFindHostFunc2: case JumpUIType.TreasureFindHostFunc3: case JumpUIType.TreasureFindHostFunc1Type2: case JumpUIType.TreasureFindHostFunc2Type2: case JumpUIType.TreasureFindHostFunc3Type2: case JumpUIType.TreasureFindHost_LLBT_Type1: case JumpUIType.TreasureFindHost_LLBT_Type2: bool isUnlock = hostModel.IsUnlockTreasure(int.Parse(_tagWinSearchModel.SelectActive)); if (!isUnlock) { hostModel.jumpTreasureId = 0; return false; } break; case JumpUIType.FirstRecharge: var model = ModelCenter.Instance.GetModel(); if (model.IsFirstChargeRewardGetByDay()) { model.AreadyGetFirstRecharge(); return false; } break; case JumpUIType.XMZZBattle: case JumpUIType.AncientBattle: case JumpUIType.IceCrystal: case JumpUIType.FairyLand: DailyQuestConfig dailyConfig = DailyQuestConfig.Get(_tagWinSearchModel.SelectActive); if (dailyQuestModel.GetQuestState(dailyConfig.ID) != DailyQuestModel.DailyQuestState.Normal) { SysNotifyMgr.Instance.ShowTip("FBIsNotOpen"); return false; } break; case JumpUIType.PlotTaskFunc3: var taskmodel = ModelCenter.Instance.GetModel(); if (taskmodel.SideQuestsDic.Count < 1) { SysNotifyMgr.Instance.ShowTip("SideQuest_None"); return false; } break; case JumpUIType.PrayforDrug: return false; case JumpUIType.FaBaoSoul_BenYuan: case JumpUIType.FaBaoSoul_FengMo: case JumpUIType.FaBaoSoul_Strength: case JumpUIType.FaBaoSoul_Rune: case JumpUIType.FaBaoSoul_Mount: case JumpUIType.FaBaoSoul_Pet: case JumpUIType.FaBaoSoul_Boss: case JumpUIType.FaBaoSoul_Wings: case JumpUIType.FaBaoSoul_Suit: case JumpUIType.FaBaoSoul_Wash: break; case JumpUIType.TrialExchange: case JumpUIType.TrialExchange2: return false; case JumpUIType.OpenServerMountRank: var type = int.Parse(_tagWinSearchModel.SelectActive); if (rankModel.IsLock(type)) { SysNotifyMgr.Instance.ShowTip("InOperationTimeError"); return false; } if (TimeUtility.OpenDay >= rankModel.openServerActivityDays) { SysNotifyMgr.Instance.ShowTip("ActiveOutTime"); return false; } break; case JumpUIType.FlashSale: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.FlashSale); return false; } } break; case JumpUIType.LoginReward307: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.LoginReward); return false; } } break; case JumpUIType.LuckyTreasure306: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.LuckyTreasure); return false; } } break; case JumpUIType.FestivalRedBag303: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.FestivalRedpack); return false; } } break; case JumpUIType.FlashRushToBuy: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.FlashRushToBuy); return false; } } break; case JumpUIType.BindGoldWheel: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { return false; } } break; case JumpUIType.OpenServer_DaysAccumulateRecharge: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.DaysAccumulateRecharge); return false; } } break; case JumpUIType.HolidayWishBottle: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(int.Parse(_tagWinSearchModel.SelectActive), (int)OpenServerActivityCenter.ActivityType.AT_JRZF)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.HolidayWish); return false; } } break; case JumpUIType.HolidayAccumulateRecharge: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(int.Parse(_tagWinSearchModel.SelectActive), (int)OpenServerActivityCenter.ActivityType.AT_JRZF)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.HolidayAccumulateRecharge); return false; } } break; case JumpUIType.HolidayLimitedTimePackage: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(int.Parse(_tagWinSearchModel.SelectActive), (int)OpenServerActivityCenter.ActivityType.AT_JRZF)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.HolidayGiftPackage); return false; } } break; case JumpUIType.HolidayFlashRushToBuy: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(int.Parse(_tagWinSearchModel.SelectActive), (int)OpenServerActivityCenter.ActivityType.AT_JRZF)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.HolidayFlashRushToBuy); return false; } } break; case JumpUIType.HolidayFlashSale: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(int.Parse(_tagWinSearchModel.SelectActive), (int)OpenServerActivityCenter.ActivityType.AT_JRZF)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.HolidayFlashSale); return false; } } break; case JumpUIType.default4: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(int.Parse(_tagWinSearchModel.SelectActive), (int)OpenServerActivityCenter.ActivityType.AT_JRZF)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.default3); return false; } } break; case JumpUIType.default5: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(int.Parse(_tagWinSearchModel.SelectActive), (int)OpenServerActivityCenter.ActivityType.AT_JRZF)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.default4); return false; } } break; case JumpUIType.default63: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(int.Parse(_tagWinSearchModel.SelectActive), (int)OpenServerActivityCenter.ActivityType.AT_JRZF)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.default20); return false; } } break; case JumpUIType.HolidayConsumreRebate: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(int.Parse(_tagWinSearchModel.SelectActive), (int)OpenServerActivityCenter.ActivityType.AT_JRZF)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.HolidayConsumeRebate); return false; } } break; case JumpUIType.HolidayDaysAccumulateRecharge: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(int.Parse(_tagWinSearchModel.SelectActive), (int)OpenServerActivityCenter.ActivityType.AT_JRZF)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.HolidayMultiRecharge); return false; } } break; case JumpUIType.HolidayCollectWords: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(int.Parse(_tagWinSearchModel.SelectActive), (int)OpenServerActivityCenter.ActivityType.AT_JRZF)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.HolidayCollectWords); return false; } } break; case JumpUIType.OpenServer_JZYY: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.CollectWords); return false; } } break; case JumpUIType.default1: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.default1); return false; } } break; case JumpUIType.OpenServer_SuperUP: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { return false; } } break; case JumpUIType.ConsumreRebate: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.ConsumeRebate); return false; } } break; case JumpUIType.OpenServer_AccumulateRecharge: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.AccumulateRecharge); return false; } } break; case JumpUIType.LimitedTimePackage: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.GiftPackage); return false; } } break; case JumpUIType.BossReborn: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { OperationTimeHepler.Instance.ProcessConditionError(Operation.BossReborn); return false; } } break; case JumpUIType.VipRechargeFunc3: { if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { ModelCenter.Instance.GetModel().MessageNotification(); return false; } } break; case JumpUIType.OpenServerRank: case JumpUIType.OSTimeLimitGift: case JumpUIType.OpenServerActivityFunc2_1: case JumpUIType.OpenServerActivityFunc2_2: if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID)) { SysNotifyMgr.Instance.ShowTip("ActiveOutTime"); return false; } break; case JumpUIType.OpenServerGift1: case JumpUIType.OpenServerGift2: case JumpUIType.OpenServerGift3: case JumpUIType.OpenServerGift4: var giftModel = ModelCenter.Instance.GetModel(); int payType = 0; int.TryParse(_tagWinSearchModel.SelectActive, out payType); if (!giftModel.IsGiftExist(payType)) { if (giftModel.IsGiftAlreadyBuy(payType)) { SysNotifyMgr.Instance.ShowTip("GiftAlreadyBuy"); } else if (!giftModel.IsGiftExist(payType)) { giftModel.DisplayErrorRemind(payType); } return false; } else { giftModel.jumpGiftId = payType; } break; case JumpUIType.OpenServerGift: return false; case JumpUIType.EquipCompose1: case JumpUIType.EquipCompose2: case JumpUIType.EquipCompose3: case JumpUIType.EquipCompose4: case JumpUIType.ComposeTicketFairy: case JumpUIType.ComposeTicketGod: case JumpUIType.ComposeTicketIce: case JumpUIType.EquipCompose265: case JumpUIType.EquipCompose266: case JumpUIType.EquipCompose267: case JumpUIType.EquipCompose268: case JumpUIType.EquipCompose269: case JumpUIType.EquipCompose270: case JumpUIType.EquipCompose291: case JumpUIType.ToolCompose305: int[] types = GetSearchData(_tagWinSearchModel.ID).conditions; if (types.Length > 0) { if (!composeModel.CheckIsComposeByType((int)TableIndexToComposeFuncType(_tagWinSearchModel.TABID), types[0], types[1])) { return false; } } break; case JumpUIType.CeremonyRecharge: case JumpUIType.CeremonyFire: case JumpUIType.CeremonyPeopleToHi: case JumpUIType.CeremonyOutof: if (!OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.FairyCeremony)) { SysNotifyMgr.Instance.ShowTip("InOperationTimeError"); return false; } break; case JumpUIType.CrossServerOneVsOne275: case JumpUIType.CrossServerOneVsOne276: case JumpUIType.CrossServerOneVsOne277: case JumpUIType.CrossServerOneVsOne278: case JumpUIType.CrossServerOneVsOne279: if (!CrossServerOneVsOnePKSeason.Instance.IsEnterCrossServer(true)) { return false; } break; case JumpUIType.SevenDaysTour281: case JumpUIType.SevenDaysTour282: case JumpUIType.SevenDaysTour283: case JumpUIType.SevenDaysTour284: case JumpUIType.SevenDaysTour285: case JumpUIType.SevenDaysTour286: case JumpUIType.SevenDaysTour287: var sevenDaysModel = ModelCenter.Instance.GetModel(); if (!sevenDaysModel.IsJumpOpen()) { return false; } break; case JumpUIType.NewYearTour299: case JumpUIType.NewYearTour300: case JumpUIType.NewYearTour301: case JumpUIType.NewYearTour302: var springFestivalModel = ModelCenter.Instance.GetModel(); if (!springFestivalModel.IsJumpOpen()) { return false; } break; case JumpUIType.AllianceBoss1: if (!PlayerDatas.Instance.fairyData.HasFairy) { SysNotifyMgr.Instance.ShowTip("DailyQuestwinUnionLimit"); return false; } break; case JumpUIType.default12: if (!FosterModel.Instance.CheckHorseOpen(false)) { return false; } break; case JumpUIType.default13: if (!FosterModel.Instance.CheckPetOpen(false)) { return false; } break; case JumpUIType.default8: case JumpUIType.default9: case JumpUIType.default10: case JumpUIType.default11: int EquipID = int.Parse(_tagWinSearchModel.SelectActive); if (!FosterModel.Instance.CheckLingQiOpen(EquipID, false)) { return false; } break; case JumpUIType.CelestialPalaceHell: if (!FuncOpen.Instance.IsFuncOpen(ModelCenter.Instance.GetModel().FuncId)) { return false; } ModelCenter.Instance.GetModel().OpenCelestialPalaceWin(); break; case JumpUIType.CelestialPalaceCell: case JumpUIType.CelestialPalaceTree: WindowCenter.Instance.CloseAll(); if (!FuncOpen.Instance.IsFuncOpen(ModelCenter.Instance.GetModel().FuncId)) { return false; } ModelCenter.Instance.GetModel().JumpCelestialPalaceTreeWin(); break; case JumpUIType.CelestialPalaceShop: if (!FuncOpen.Instance.IsFuncOpen(ModelCenter.Instance.GetModel().FuncId)) { return false; } ModelCenter.Instance.GetModel().JumpCelestialPalaceShopWin(); break; case JumpUIType.PhantasmPavilionAvatar: if (!FuncOpen.Instance.IsFuncOpen(ModelCenter.Instance.GetModel().FuncId)) { return false; } ModelCenter.Instance.GetModel().selectTab = PhantasmPavilionTab.Avatar; var list = ModelCenter.Instance.GetModel().ShowItemList(ModelCenter.Instance.GetModel().selectTab, out int fristIndex); if (!list.IsNullOrEmpty()) ModelCenter.Instance.GetModel().selectItemId = fristIndex; WindowCenter.Instance.Open(); break; case JumpUIType.PhantasmPavilionAvatarFrame: if (!FuncOpen.Instance.IsFuncOpen(ModelCenter.Instance.GetModel().FuncId)) { return false; } ModelCenter.Instance.GetModel().selectTab = PhantasmPavilionTab.AvatarFrame; var list1 = ModelCenter.Instance.GetModel().ShowItemList(ModelCenter.Instance.GetModel().selectTab, out int fristIndex1); if (!list1.IsNullOrEmpty()) ModelCenter.Instance.GetModel().selectItemId = fristIndex1; WindowCenter.Instance.Open(); break; case JumpUIType.PhantasmPavilionChatExpression: if (!FuncOpen.Instance.IsFuncOpen(ModelCenter.Instance.GetModel().FuncId)) { return false; } ModelCenter.Instance.GetModel().selectTab = PhantasmPavilionTab.ChatExpression; var list2 = ModelCenter.Instance.GetModel().ShowItemList(ModelCenter.Instance.GetModel().selectTab, out int fristIndex2); if (!list2.IsNullOrEmpty()) ModelCenter.Instance.GetModel().selectItemId = fristIndex2; WindowCenter.Instance.Open(); break; case JumpUIType.PhantasmPavilionChatBubble: if (!FuncOpen.Instance.IsFuncOpen(ModelCenter.Instance.GetModel().FuncId)) { return false; } ModelCenter.Instance.GetModel().selectTab = PhantasmPavilionTab.ChatBubble; var list3 = ModelCenter.Instance.GetModel().ShowItemList(ModelCenter.Instance.GetModel().selectTab, out int fristIndex3); if (!list3.IsNullOrEmpty()) ModelCenter.Instance.GetModel().selectItemId = fristIndex3; WindowCenter.Instance.Open(); break; case JumpUIType.GuBaoXB: TreasurePavilionModel.Instance.isShowLuckyDraw = true; WindowCenter.Instance.OpenIL(); break; } return true; } private void CheckJumpWin(int _functionalOrder = 0, bool _forceSync = true) where T : Window { string curOpenWin = typeof(T).Name; } private void GotoNormalDungeon(int _dailyQuestId, int _lineId = 0) { var config = DailyQuestConfig.Get(_dailyQuestId); dungeonModel.currentDungeon = new Dungeon(config.RelatedID, _lineId); SetJumpLogic(); } private void GotoHeavenBattleDungeon(int _dailyQuestId, int _lineId = 0) { var config = DailyQuestConfig.Get(_dailyQuestId); dungeonModel.currentDungeon = new Dungeon(config.RelatedID, _lineId); SetJumpLogic(); } private void GotoTrialDungeon(int _dailyQuestId, int _lineId = 0) { var config = DailyQuestConfig.Get(_dailyQuestId); dungeonModel.currentDungeon = new Dungeon(config.RelatedID, _lineId); SetJumpLogic(); } private void GotoMultipleDifficultyDungeon(int _dailyQuestId) { var config = DailyQuestConfig.Get(_dailyQuestId); dungeonModel.currentDungeon = new Dungeon(config.RelatedID, 0); dungeonModel.selectedKylinDungeon = default(Dungeon); SetJumpLogic(); } public void GotoKylinDungeon(int tier) { var dungeon = new Dungeon(31190, tier - 1); dungeonModel.currentDungeon = dungeon; dungeonModel.selectedKylinDungeon = dungeon; SetJumpLogic(0); } IEnumerator Co_OpenRealmEquipDelay(string _guid) { yield return null; yield return null; yield return WaitingForSecondConst.WaitMS300; ItemTipUtility.Show(_guid); } private void SetJumpLogic(int functionOrder = 0, bool sync = true) where T : Window { SetJumpLogic(typeof(T).Name, functionOrder, sync); } private void SetJumpLogic(string windowName, int functionOrder, bool sync) { if (WindowCenter.Instance.IsOpen(windowName)) { Window window = WindowCenter.Instance.Get(windowName); window.functionOrder = functionOrder; window.ChildActive(); return; } GetPreAllOpenWin(); jumpWinNameDict.Add(jumpPhase, windowName); jumpType = _tagWinSearchModel.Type; switch (_tagWinSearchModel.Type) { case 1: WindowCenter.Instance.CloseAll(WindowCenter.CloseAllIgnoreType.SystemAndCustom); WindowCenter.Instance.Open(windowName, sync, functionOrder); WindowCenter.Instance.jumpWindowCloseEvent += CloseWindow; break; case 2: WindowCenter.Instance.CloseAll(WindowCenter.CloseAllIgnoreType.SystemAndCustom); WindowCenter.Instance.Open(windowName, sync, functionOrder); WindowCenter.Instance.jumpWindowCloseEvent += CloseWindow; break; case 3: WindowCenter.Instance.CloseAll(WindowCenter.CloseAllIgnoreType.SystemAndCustom); WindowCenter.Instance.Open(windowName, sync, functionOrder); WindowCenter.Instance.jumpWindowCloseEvent += CloseWindow; break; case 4: WindowCenter.Instance.CloseAll(WindowCenter.CloseAllIgnoreType.SystemAndCustom); WindowCenter.Instance.Open(windowName, sync, functionOrder); WindowCenter.Instance.jumpWindowCloseEvent += CloseWindow; break; case 5: WindowCenter.Instance.Open(windowName, sync, functionOrder); WindowCenter.Instance.jumpWindowCloseEvent += CloseWindow; break; default: DebugEx.LogError("不存在此界面跳转类型" + _tagWinSearchModel.Type); break; } } private void CloseWindow(Window obj) { DebugEx.Log("CloseWindow:" + obj + "跳转阶段:" + jumpPhase); if (!jumpWinNameDict.ContainsKey(jumpPhase)) return; if (jumpWinNameDict[jumpPhase] != obj.name) { return; } DebugEx.Log("关闭界面类型:" + _tagWinSearchModel.Type); WindowCenter.Instance.jumpWindowCloseEvent -= CloseWindow; jumpType = _tagWinSearchModel.Type; int i = 0; List openWinlist = null; switch (_tagWinSearchModel.Type) { case 1: case 4: openWinlist = openWindows[jumpPhase]; if (openWinlist.Contains(obj.name)) { openWinlist.Remove(obj.name); } WindowCenter.Instance.CloseAll(WindowCenter.CloseAllIgnoreType.SystemAndCustom); for (i = 0; i < openWinlist.Count; i++) { Window window = WindowCenter.Instance.Get(openWinlist[i]); switch (window.name) { case "RebornWin": if (DeadModel.playerIsDie) { if (!WindowCenter.Instance.IsOpen(openWinlist[i])) { WindowCenter.Instance.Get(openWinlist[i]).Open(); } } break; case "ReliveWin": if (DeadModel.playerIsDie) { if (!WindowCenter.Instance.IsOpen(openWinlist[i])) { WindowCenter.Instance.Get(openWinlist[i]).Open(); } } break; case "ElderGodAreaExitWin": if (DeadModel.playerIsDie) { if (!WindowCenter.Instance.IsOpen(openWinlist[i])) { WindowCenter.Instance.Get(openWinlist[i]).Open(); } } break; default: if (!WindowCenter.Instance.IsOpen(openWinlist[i])) { WindowCenter.Instance.Get(openWinlist[i]).Open(); } break; } } jumpWinNameDict.Remove(jumpPhase); jumpPhase -= 1; break; case 2: openWinlist = openWindows[1]; if (openWinlist.Contains(obj.name)) { openWinlist.Remove(obj.name); } WindowCenter.Instance.CloseAll(WindowCenter.CloseAllIgnoreType.SystemAndCustom); if (!WindowCenter.Instance.IsOpen()) { WindowCenter.Instance.Open(); } for (i = 0; i < openWinlist.Count; i++) { Window window = WindowCenter.Instance.Get(openWinlist[i]); if (window != null && window.windowInfo.windowType == WindowType.Base) { if (!WindowCenter.Instance.IsOpen(openWinlist[i])) { WindowCenter.Instance.Get(openWinlist[i]).Open(); } } else { switch (window.name) { case "RebornWin": if (DeadModel.playerIsDie) { if (!WindowCenter.Instance.IsOpen(openWinlist[i])) { WindowCenter.Instance.Get(openWinlist[i]).Open(); } } break; case "ReliveWin": if (DeadModel.playerIsDie) { if (!WindowCenter.Instance.IsOpen(openWinlist[i])) { WindowCenter.Instance.Get(openWinlist[i]).Open(); } } break; case "ElderGodAreaExitWin": if (DeadModel.playerIsDie) { if (!WindowCenter.Instance.IsOpen(openWinlist[i])) { WindowCenter.Instance.Get(openWinlist[i]).Open(); } } break; } } } jumpPhase = 0; break; case 3: jumpPhase = 0; break; case 5: obj.SetActive(false); jumpWinNameDict.Remove(jumpPhase); jumpPhase -= 1; break; default: DebugEx.LogError("不存在此界面跳转类型" + _tagWinSearchModel.Type); break; } if (jumpPhase <= 0) { openWindows.Clear(); IsJumpState = false; jumpWinNameDict.Clear(); if (DeadModel.playerIsDie) { DeadModel.PlayerDie(PlayerDatas.Instance.baseData.PlayerID); } //WindowCenter.Instance.CalcMainInterfaceWin(); } } private void SecondRefresh() { if (!ConfigInitiator.done) return; if (DeadModel.playerIsDie && WindowCenter.Instance.IsOpen() && dungeonModel.dungeonFightStage != DungeonFightStage.ExitPrepare) { if (!WindowCenter.Instance.IsOpen() && !WindowCenter.Instance.IsOpen() && !WindowCenter.Instance.IsOpen() && !WindowCenter.Instance.IsOpen()) { ClearJumpData(); DeadModel.PlayerDie(PlayerDatas.Instance.baseData.PlayerID); } } } public void ClearJumpData() { if (!IsJumpState) return; jumpPhase = 0; openWindows.Clear(); IsJumpState = false; foreach (var key in jumpWinNameDict.Keys) { WindowCenter.Instance.jumpWindowCloseEvent -= CloseWindow; } jumpWinNameDict.Clear(); //Regex regex = new Regex(@"[^\d](\d{3})[^\d]", RegexOptions.Singleline); //Match curMatch = regex.Match("4**(abc)?789Y0649"); } public ComposeFuncType TableIndexToComposeFuncType(int tableIndex) { //if (tableIndex == 2) //{ // return ComposeFuncType.Ticket; //} //else //{ // return (ComposeFuncType)(tableIndex + 1); //} return (ComposeFuncType)tableIndex; } } /// /// 规则是每个系统对应标签页顺序 /// /// public enum JumpUIType { None = 0, RoleFunc1 = 1, RoleFunc2 = 2, RoleFunc3 = 3, RoleFunc4 = 4, KnapSackFunc1 = 5, KnapSackFunc2 = 6, KnapSackFunc3 = 7, KnapSackFunc4 = 8, SkillFunc1 = 9, SkillFunc2 = 10, SkillFunc2Type2 = 243, //被动技能界面 SkillFunc3 = 11, StrengthFunc1 = 12,//强化 StrengthFunc2 = 13,//升星 StrengthFunc3 = 14,//镶嵌 StrengthFunc4 = 15,//洗炼 EquipLowSuit = 241, //普通套装界面 StrengthFunc5 = 16, EquipWashType2 = 239, //装备洗炼界面 ComposeFunc1 = 17, ComposeFunc2 = 18, ComposeFunc3 = 19, ComposeFunc4 = 20, ComposeFunc5 = 21, RuneFunc1 = 22, RuneFunc2 = 23, RuneFunc3 = 24, RuneFunc4 = 25, UnionStore = 26, UnionFunc1 = 27, UnionFunc2 = 28, UnionFunc3 = 29, UnionFunc4 = 30, UnionFunc5 = 31, PetFunc1 = 32, PetFunc2 = 33, MountType2 = 240,//坐骑界面 PetStone = 34, Treasure = 35, WorldChat = 38, PrivateChat = 39, BountyInterface = 40,//赏金界面 GameRank = 43, //排行榜 DailyQuestFunc1 = 44, DailyQuestFunc2 = 45, DailyQuestFunc3 = 46, RoleTitle = 47, //角色称号 RealmFunc1 = 48, //境界 RolePoint = 49, MainTask = 56, //主线任务 BigMap = 61, //大地图界面 WorldMap = 62, //世界地图 MountStone = 65, MountSkill = 66, MountAppearance = 67, UnionBoss = 68, //仙盟Boss界面 IceCrystal = 69, //冰晶矿脉 FairyLand = 70, //仙界秘境 GridExtend = 71, StoreFunc1 = 72, StoreFunc2 = 73, StoreFunc3 = 74, StoreFunc4 = 75, StoreFunc5 = 76, VipRechargeFunc1 = 77, VipRechargeFunc2 = 78, VipRechargeFunc3 = 79,//成长基金(精彩活动) VipRechargeFunc4 = 80, VipRechargeFunc5 = 81, FindPreciousFrameFunc1 = 82, FindPreciousFrameFunc2 = 83, FindPreciousFrameFunc3 = 84, FindPreciousFrameFunc4 = 85, FindPreciousFrameFunc5 = 86, FindPreciousFrameFunc6 = 104,//封魔坛 MarketFunc1 = 87, MarketFunc2 = 88, MarketFunc3 = 89, BlastFurnaceFunc1 = 92, MyTeamType1 = 93, //我的队伍界面 TeamListType1 = 94, //组队列表界面 VipExperience = 98, RuneTower = 99,//符印塔 WelfareFunc1 = 102, //签到 WelfareFunc2 = 103, //祈愿 SystemSettingFunc1 = 109,//挂机设置 RebornOpenBag = 113,//死亡复活打开背包 RebornOpenAddPoint = 114,//死亡复活打开加点 RebornOpenHourse = 115,//死亡复活打开坐骑 RebornOpenStrength = 116,//死亡复活打开强化 RebornOpenPet = 117,//死亡复活打开灵宠 RedPacket = 118,//红包 TreasureFunc1 = 119, //入世法宝 TreasureFunc2 = 120, //本源法宝 Type1TreasureFunc1 = 121, //入世法宝 Type1TreasureFunc2 = 122, //本源法宝 UnionWarehouse = 123, //仙盟宝库界面 UnionHall = 124,//仙盟大厅界面 UnionMethod = 125, //仙盟心法界面 UnionTask = 126, //仙盟任务界面 TreasureFunc3 = 127, //天赐法宝(弃用) RealmPractice1 = 128, //境界修行 RealmPractice2 = 129, //境界修行 UnionActive1 = 130, //仙盟活跃 UnionActive2 = 131, //仙盟活跃 AddFriend1 = 132, //添加好友 AddFriend2 = 133, //添加好友 UnionChat1 = 134, //仙盟频道 UnionChat2 = 135, //仙盟频道 TicketCompose1 = 136, //冰晶矿脉门票合成 TicketCompose2 = 137, //古神禁地 UseNormalDrug = 138, //丹药使用 XianBaguaIntr = 139, //仙族法宝八卦炉介绍界面 UnionTask2 = 140, //仙盟任务界面回到主界面 OpenServerActivityFunc2_1 = 141, //活动发红包(精彩活动) OpenServerActivityFunc2_2 = 142, //活动抢红包(精彩活动) FirstRecharge = 143, // 首充界面 KnapSackFunc1Type2 = 144, // 背包界面(返回) StrengthFunc1Type2 = 145, // 强化界面(返回) KnapSackFunc5 = 146, //装备分解 TreasureFindHostFunc1 = 147, //仙宝寻主 TreasureFindHostFunc1Type2 = 148, //仙宝寻主 TreasureFindHostFunc2 = 149, TreasureFindHostFunc2Type2 = 150, TreasureFindHostFunc3 = 151, TreasureFindHostFunc3Type2 = 152, TreasureFindHost_LLBT_Type1 = 1024, //仙宝寻主-玲珑宝塔界面(返回当前界面) TreasureFindHost_LLBT_Type2 = 1025, //仙宝寻主-玲珑宝塔界面(返回当前界面) OpenServerGift = 153, //超值礼包 WelfareFunc3 = 154, //福利界面七天登录 Alchemyrescripte104 = 155, //十全丹方 Alchemyrescripte105 = 156, //三元丹方 VipRechargeVip3 = 157, // vip3 VipRechargeVip2 = 158, // vip2 VipRechargeVip4 = 159, // vip4 VipRechargeVip5 = 160, // vip5 VipRechargeVip6 = 161, // vip6 VipRechargeVip7 = 162, // vip7 VipRechargeVip8 = 163, // vip8 VipRechargeVip9 = 164, // vip9 VipRechargeVip10 = 165, // vip10 PlotTaskFunc3 = 166, //支线任务 OpenServerMountRank = 167,//开服活动坐骑排行榜(精彩活动) AncientBattle = 168,//上古战场 XMZZBattle = 169, //仙魔之争 VipRechargeVip1 = 170, // vip1 Daily_Kirin = 171, //日常任务-麒麟之府 AttackMagicianType1 = 172, //攻击神兵 AttackMagicianType2 = 173, //攻击神兵 OpenServerRank = 174, //全名冲榜(精彩活动) Daily_BountyMission = 175, //日常任务-师门悬赏 Daily_IceCrystal = 176, //日常任务-冰晶矿脉 Daily_Trial = 177, //日常任务-宗门试炼 Daily_FairyLand = 178, //日常任务-仙界秘境 Daily_GuardSky = 179, //日常任务-守卫人皇 Daily_Demon = 180, //日常任务-混乱妖域 Daily_ElderGodArea = 181, //日常任务-古神禁地 Daily_AncientBattleGround = 182, //日常任务-上古战场 Daily_EmperorRelic = 183, //日常任务-娲皇遗迹 TreasureSoul = 184, //法宝魂界面 LootPreciousFrameSpec = 185,//八卦炉特殊跳转-封魔坛 RuneTowerSpec = 186,//八卦炉特殊跳转-符印塔 Daily_FairyTask = 187,//日常任务-仙盟任务 FaBaoSoul_BenYuan = 188, //法宝魂-本源之魂 FaBaoSoul_FengMo = 189, //法宝魂-封魔之魂 FaBaoSoul_Strength = 190, //法宝魂-强化之魂 FaBaoSoul_Rune = 191, //法宝魂-符印之魂 FaBaoSoul_Mount = 192, //法宝魂-坐骑之魂 FaBaoSoul_Pet = 193, //法宝魂-灵宠之魂 FaBaoSoul_Boss = 194, //法宝魂-BOSS之魂 FaBaoSoul_Wings = 195, //法宝魂-翅膀之魂 FaBaoSoul_Suit = 196, //法宝魂-套装之魂 FaBaoSoul_Wash = 197, //法宝魂-洗炼之魂 ConsumreRebate = 198, //福利—消费返利界面(精彩活动) OSTimeLimitGift = 199, //开服活动开服特惠(精彩活动) WelfareFunc2Type2 = 200, //祈愿返回主界面 LimitedTimePackage = 201, //限时礼包(精彩活动) BossReborn = 202, //Boss复活(精彩活动) FlashSale = 203, //开服活动-限时特惠(精彩活动) BestXB = 204, //极品寻宝 RuneXB = 205, //符印寻宝 XBStore = 206, //寻宝商店 XBWarehouse = 207, //寻宝仓库 BestXBType2 = 208, //极品寻宝 RuneXBType2 = 209, //符印寻宝 XBStoreType2 = 210, //寻宝商店 XBWarehouseType2 = 211, //寻宝仓库 TrialExchange = 212, //宗门试练材料兑换 ComposeTicketFairy = 213, //合成-仙界密境通行证 ComposeTicketIce = 214, //合成-冰晶矿脉通行证 ComposeTicketGod = 215, //合成-古神通行证 TrialDungeonSelect = 216, //宗门试练副本选择界面 TrialDungeonSelect1 = 217, //宗门试练一层 TrialDungeonSelect2 = 218, //宗门试练二层 TrialDungeonSelect3 = 219, //宗门试练三层 FindPreciousFrameFunc4Type2 = 220, //古神禁地界面 返回主界面 FindPreciousFrameFunc2Type2 = 221, //BOSS之家 返回主界面 FairyGrabBoss = 222, //骑宠争夺 OpenServerGift1 = 223, //超值礼包1 OpenServerGift2 = 224, //超值礼包2 OpenServerGift3 = 225, //超值礼包3 OpenServerGift4 = 226,//法宝集魂 Kylin = 227,//跳转到麒麟之府, 不配置选中任何层 Kylin1 = 228,//麒麟之府的1层 Kylin2 = 229,//麒麟之府的2层 Kylin3 = 230,//麒麟之府的3层 Kylin4 = 231,//麒麟之府的4层 Kylin5 = 232,//麒麟之府的5层 Kylin6 = 233,//麒麟之府的6层 PrayforDrug = 234, //炼丹祈福(太上老君的馈赠) EquipCompose1 = 235, //装备合成-龙魂红二 EquipCompose2 = 236, //装备合成-龙魂红三 EquipCompose3 = 237, //装备合成-灵瑶红二 EquipCompose4 = 238, //装备合成-灵瑶红三 CeremonyRecharge = 244, //仙界盛典充值大礼界面 CeremonyFire = 245, //仙界盛典烟花狂欢界面 CeremonyPeopleToHi = 246, //仙界盛典全民来嗨界面 CeremonyOutof = 247, //仙界盛典绝版降临界面 DogzFunc1Type1 = 248, //神兽界面 DogzFunc1Type2 = 249, //神兽界面 DogzFunc2Type1 = 250, //神兽强化界面 DogzFunc2Type2 = 251, //神兽强化界面 BindGoldWheel = 252, //绑玉转盘界面 FlashRushToBuy = 253, //精彩活动—限时抢购界面 EquipHighSuit = 254, //强化套装界面 Team_TrialDungeon = 255, //组队列表-宗门试炼标签 Team_EmperorRelic = 256, //组队列表-娲皇遗迹标签 OpenServer_AccumulateRecharge = 257, //精彩活动—累计充值界面 DungeonAssitCheckIn = 258, //副本助战登记 Chat_Trumpet = 259, //聊天界面-喇叭聊天 LifeMagicianPreview = 260, //生命神兵预览界面 AttackMagicianPreview = 261, //攻击神兵预览界面 DefenceMagicianPreview = 262, //护盾神兵预览界面 XianYuanCoinsStore = 263, // 仙缘币商城返回主界面 TrialExchange2 = 264, //宗门试练材料兑换 EquipCompose265 = 265, //装备合成-6阶紫色玉佩 EquipCompose266 = 266, //装备合成-7阶橙色0星玉佩 EquipCompose267 = 267, //装备合成-7阶橙色1星玉佩 EquipCompose268 = 268, //装备合成-8阶橙色2星玉佩 EquipCompose269 = 269, //装备合成-9阶红色2星玉佩 EquipCompose270 = 270, //装备合成-10阶红色3星玉佩 GatherSoul271 = 271, //聚魂合成 GatherSoul272 = 272, //聚魂镶嵌界面 GatherSoul273 = 273, //聚魂镶嵌界面 Daily_GatherSoul274 = 274,//日常任务-聚魂副本 CrossServerOneVsOne275 = 275, //跨服天梯赛界面 CrossServerOneVsOne276 = 276, //跨服赛季竞技界面 CrossServerOneVsOne277 = 277, //跨服赛季段位奖励界面 CrossServerOneVsOne278 = 278, //跨服赛季赛季奖励界面 CrossServerOneVsOne279 = 279, //跨服赛季荣誉商店界面 FashionDress280 = 280, //时装功能界面 SevenDaysTour281 = 281, //七日巡礼 SevenDaysTour282 = 282, //七日巡礼 SevenDaysTour283 = 283, //七日巡礼 SevenDaysTour284 = 284, //七日巡礼 SevenDaysTour285 = 285, //七日巡礼 SevenDaysTour286 = 286, //七日巡礼 SevenDaysTour287 = 287, //七日巡礼 JadeDynastyTower288 = 288,//诛仙塔 JadeDynastyTowerRank289 = 289,//排行榜-诛仙塔 JadeDynastyBoss290 = 290,//诛仙Boss EquipCompose291 = 291,//装备合成-诛仙装备 JadeDynastyEquip292 = 292,//诛仙装备 EquipCompose293 = 293,//装备合成-诛仙装备-合成披风 EquipCompose294 = 294,//装备合成-诛仙装备-合成如意 EquipCompose295 = 295,//装备合成-诛仙装备-合成诛仙剑 EquipCompose296 = 296,//装备合成-诛仙装备-合成戮仙剑 EquipCompose297 = 297,//装备合成-诛仙装备-合成陷仙剑 EquipCompose298 = 298,//装备合成-诛仙装备-合成绝仙剑 NewYearTour299 = 299, //2019春节巡礼 NewYearTour300 = 300, //2019春节巡礼 NewYearTour301 = 301, //2019春节巡礼 NewYearTour302 = 302, //2019春节巡礼 FestivalRedBag303 = 303, //节日红包界面 JadeDynastyGem304 = 304, //诛仙宝石 ToolCompose305 = 305, //诛仙附伤宝石合成 LuckyTreasure306 = 306, //幸运鉴宝 LoginReward307 = 307, //登录奖励 AllianceBoss1 = 308,//仙盟Boss1 AllianceBoss2 = 309,//仙盟Boss2 FairyAuction = 310,//仙盟拍卖行 TreasureSkill = 311,//技能升级 Alchemy1 = 312,//炼丹 Alchemy2 = 313, Alchemy3 = 314, Alchemy4 = 315, Alchemy5 = 316, RealmEquip1 = 317, Alchemy6 = 318, FullServerAuction = 319, AlchemyNormal = 320, AlchemyFairy = 321, RolePromote = 322, UseFairyDrug = 323, MonthInvest = 324, WeekInvest = 325, FairyStore1 = 326, Alchemy7 = 327, Alchemy8 = 328, Alchemy9 = 329, WorldBossCountWin = 330, RealmEquip = 331, ExchangeActiveToken = 332, Daily_FairyFeast = 333,//限时活动仙盟宴会 Daily_FairyMatches = 334,//限时活动仙盟联赛 CrossServerBoss = 335,//蓬莱仙境 Alchemy10 = 336, Alchemy11 = 337, SpiritWeapon = 338,//魂器界面 SpiritBreach = 339, //突破界面 ActivityReward = 340,//活跃度奖励 XBStore_1 = 341, XBStore_2 = 342, XBStore_3 = 343, XBStore_4 = 344, LSStore1 = 345, LSStore2 = 346, LSStore3 = 347, LSStore4 = 348, LSStore5 = 349, DayPackage = 350, DayQuest54 = 351, //54-60级任务卡级动态标记 AutionEquipInPack = 352, //背包中的可拍卖物品 XXZL = 353, //修行战令 VIP11 = 354, VIP12 = 355, VIP13 = 356, VIP14 = 357, VIP15 = 358, VIP16 = 359, VIP17 = 360, VIP18 = 361, VIP19 = 362, VIP20 = 363, VIP21 = 364, VIP22 = 365, VIP23 = 366, VIP24 = 367, OpenServer_SuperUP = 368, //超级助力 OpenServer_DaysAccumulateRecharge = 369, //多日累充 OpenServer_LoginTZ = 374, //登录投资 OpenServer_LevelTZ = 375, //登录投资 OpenServer_BossTZ = 376, //BOSS投资 OpenServer_JZYY = 400, //集字 活动界面 MergeActivity_JZHF = 401, //集字 合服界面 HolidayWishBottle = 402, //节日祝福-灯笼 HolidayAccumulateRecharge = 403, //403 节日-单日累充 HolidayCollectWords = 404, //节日-集字 HolidayLimitedTimePackage = 405, //节日-限时礼包 HolidayFlashRushToBuy = 406, //节日-限时抢购 HolidayFlashSale = 407, //节日-限时特惠 HolidayConsumreRebate = 408, //节日-消费返利 HolidayDaysAccumulateRecharge = 409, //节日-多日累充 //IL 备用 default1, //精彩活动-多日累充 410 default2, default3, default4, //413节日-垃圾分类 default5, //414节日-翻牌 default6, default7, default8,//灵器培养 14 default9,//灵器培养 13 default10,//灵器培养 16 default11,//灵器培养 17 default12,//坐骑培养 default13,//灵宠培养 default63 = 472, //节日-充值大礼包 GuBaoXB = 498, //古宝寻宝 CelestialPalaceCell = 500, //天道果 CelestialPalaceHell = 501, //仙宫宫殿 CelestialPalaceTree = 502, //仙宫天道树 CelestialPalaceShop = 503, //仙宫商店 PhantasmPavilionAvatar = 504, //天道阁-头像 PhantasmPavilionAvatarFrame = 505, //天道阁-头像框 PhantasmPavilionChatExpression = 506, //天道阁-聊天表情 PhantasmPavilionChatBubble = 507, //天道阁-聊天气泡 DhszTs = 1001,//定海神针功法提升界面 HyqTs = 1002,//皓月枪功法提升界面 GyzTs = 1003,//鬼牙刃功法提升界面 LqhTs = 1004,//龙雀环功法提升界面 PlyTs = 1005,//磐龙印功法提升界面 XhqTs = 1006,//杏黄旗功法提升界面 DhzTs = 1007,//东皇钟功法提升界面 ZjhlTs = 1008,//紫金葫芦功法提升界面 YldTs = 1009,//炎麟盾功法提升界面 StfTs = 1010,//嗜天斧功法提升界面 XyjJs = 1011, //轩辕剑介绍界面 BGLJS = 1012, //八卦炉介绍界面 LFZJS = 1013, //龙凤镯介绍界面 YLJJS = 1014, //驭灵卷介绍界面 SBXZJS = 1015, //四宝仙盏介绍界面 KLJJS = 1016, //昆仑镜介绍界面 TJYJS = 1017, //天机仪介绍界面 Type1TreasureFunc3 = 1018, //仙族法宝 LLBT = 1019, //玲珑宝塔界面 FYZJTyp1 = 1020, //焚源之炬界面 FYZJTyp2 = 1021, //焚源之炬界面 SHLTyp1 = 1022, //摄魂铃界面 SHLTyp2 = 1023, //摄魂铃界面 HazyRegion = 1026,//缥缈仙域 Srsgs = 1027, //射日神功法宝界面 ActivityPlace = 1028, //秘境探索 Daily_ActivityPlace = 1029, //日常秘境探索 GotoFight = 1030,//前往打怪 }