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.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; } 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); } } } private void SecondRefresh() { 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, //节日-多日累充 CelestialPalaceCell = 500, //天道果 CelestialPalaceHell = 501, //仙宫宫殿 CelestialPalaceTree = 502, //仙宫天道树 CelestialPalaceShop = 503, //仙宫商店 //IL 备用 default1, //精彩活动-多日累充 410 default2, default3, default4, //413节日-垃圾分类 default5, //414节日-翻牌 default6, default7, default8,//灵器培养 14 default9,//灵器培养 13 default10,//灵器培养 16 default11,//灵器培养 17 default12,//坐骑培养 default13,//灵宠培养 default14, default15, default16, default17, default18, default19, default20, default21, default22, default23, default24, default25, default26, default27, default28, default29, default30, default31, default32, default33, default34, default35, default36, default37, default38, default39, default40, default41, default42, default43, default44, default45, default46, default47, default48, default49, default50, default51, default52, default53, default54, default55, default56, default57, default58, default59, default60, default61, default62, default63, default64, default65, default66, default67, default68, default69, default70, default71, default72, default73, default74, default75, default76, default77, default78, default79, default80, default81, default82, default83, default84, default85, default86, default87, default88, default89, default90, default91, default92, default93, default94, default95, default96, default97, default98, default99, default100, 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, //日常秘境探索 }