From 0a08d799f9e86384dc64adc573cdbdce8ae5cf53 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期日, 30 九月 2018 17:36:20 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
System/WindowJump/WindowJumpMgr.cs | 585 +++++++++++++++++++++++++++++----------------------------
1 files changed, 298 insertions(+), 287 deletions(-)
diff --git a/System/WindowJump/WindowJumpMgr.cs b/System/WindowJump/WindowJumpMgr.cs
index 4f1f76e..031cc2e 100644
--- a/System/WindowJump/WindowJumpMgr.cs
+++ b/System/WindowJump/WindowJumpMgr.cs
@@ -87,279 +87,8 @@
public void WindowJumpTo(JumpUIType jumpType)
{
- _tagWinSearchModel = Config.Instance.Get<WindowSearchConfig>((int)jumpType);
-
- if (_tagWinSearchModel == null)
- {
- return;
- }
-
- if (!FuncOpen.Instance.IsFuncOpen(_tagWinSearchModel.Lv) && _tagWinSearchModel.Lv != 0)
- {
- FuncOpen.Instance.ProcessorFuncErrorTip(_tagWinSearchModel.Lv);
- return;
- }
-
- switch (jumpType)
- {
- case JumpUIType.UnionFunc1:
- case JumpUIType.UnionFunc2:
- case JumpUIType.UnionWarehouse:
- case JumpUIType.UnionHall:
- case JumpUIType.UnionTask:
- case JumpUIType.UnionTask2:
- case JumpUIType.UnionActive1:
- case JumpUIType.UnionActive2:
- case JumpUIType.UnionBoss:
- if (!PlayerDatas.Instance.fairyData.HasFairy)
- {
- SysNotifyMgr.Instance.ShowTip("DailyQuestwinUnionLimit");
- return;
- }
- break;
- case JumpUIType.UnionMethod:
- if (!fairyModel.fairyMethodToOpen)
- {
- fairyModel.ProcessMethodToErrorTip();
- return;
- }
- break;
- case JumpUIType.UnionStore:
- if (!fairyModel.fairyStoreOpen)
- {
- fairyModel.ProcessErrorTip();
- return;
- }
- break;
- case JumpUIType.BigMap:
- if(!mapModel.CanOpenLocalMapWin(PlayerDatas.Instance.baseData.MapID))
- {
- return;
- }
- break;
- case JumpUIType.TreasureFindHostFunc1:
- case JumpUIType.TreasureFindHostFunc2:
- case JumpUIType.TreasureFindHostFunc3:
- case JumpUIType.TreasureFindHostFunc1Type2:
- case JumpUIType.TreasureFindHostFunc2Type2:
- case JumpUIType.TreasureFindHostFunc3Type2:
- bool isUnlock = hostModel.IsUnlockTreasure(int.Parse(_tagWinSearchModel.SelectActive));
- if (!isUnlock)
- {
- hostModel.jumpTreasureId = 0;
- return;
- }
- break;
- case JumpUIType.FirstRecharge:
- var model = ModelCenter.Instance.GetModel<VipModel>();
- if (model.firstChargeRewardGet)
- {
- model.AreadyGetFirstRecharge();
- return;
- }
- break;
- case JumpUIType.XMZZBattle:
- case JumpUIType.AncientBattle:
- case JumpUIType.IceCrystal:
- case JumpUIType.FairyLand:
- DailyQuestConfig dailyConfig = Config.Instance.Get<DailyQuestConfig>(_tagWinSearchModel.SelectActive);
- if (dailyQuestModel.GetQuestState(dailyConfig.ID) != DailyQuestModel.DailyQuestState.Normal)
- {
- SysNotifyMgr.Instance.ShowTip("FBIsNotOpen");
- return;
- }
- break;
- case JumpUIType.PlotTaskFunc3:
- var taskmodel = ModelCenter.Instance.GetModel<PlayerTaskDatas>();
- if (taskmodel.SideQuestsDic.Count < 1)
- {
- SysNotifyMgr.Instance.ShowTip("SideQuest_None");
- return;
- }
- break;
- case JumpUIType.PrayforDrug:
- var prayModel = ModelCenter.Instance.GetModel<PrayForDurgModel>();
- if(!prayModel.CheckPrayDrugIsOpen())
- {
- return;
- }
- 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:
- var soulId = 0;
- if (int.TryParse(_tagWinSearchModel.SelectActive, out soulId))
- {
- var soulModel = ModelCenter.Instance.GetModel<TreasureSoulModel>();
- if (!soulModel.IsOpenTreasureSoul(soulId))
- {
- return;
- }
- }
- else
- {
- return;
- }
- break;
- case JumpUIType.TrialExchange:
- if (!trialDungeonModel.CompleteTrialFloor(0))
- {
- trialDungeonModel.ProcessOpenTrialExchangeError();
- return;
- }
- break;
- case JumpUIType.Kylin:
- case JumpUIType.Kylin1:
- case JumpUIType.Kylin2:
- case JumpUIType.Kylin3:
- case JumpUIType.Kylin4:
- case JumpUIType.Kylin5:
- case JumpUIType.Kylin6:
- if (!FuncOpen.Instance.IsFuncOpen(85))
- {
- FuncOpen.Instance.ProcessorFuncErrorTip((int)FuncOpenEnum.Kylin);
- return;
- }
- break;
- case JumpUIType.OpenServerMountRank:
- var type = int.Parse(_tagWinSearchModel.SelectActive);
- if (rankModel.IsLock(type))
- {
- SysNotifyMgr.Instance.ShowTip("InOperationTimeError");
- return;
- }
- if (TimeUtility.OpenDay >= rankModel.openServerActivityDays)
- {
- SysNotifyMgr.Instance.ShowTip("ActiveOutTime");
- return;
- }
- break;
- case JumpUIType.FlashSale:
- {
- if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID))
- {
- OperationTimeHepler.Instance.ProcessConditionError(Operation.FlashSale);
- return;
- }
- }
- break;
- case JumpUIType.ConsumreRebate:
- {
- if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID))
- {
- OperationTimeHepler.Instance.ProcessConditionError(Operation.ConsumeRebate);
- return;
- }
- }
- break;
- case JumpUIType.LimitedTimePackage:
- {
- if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID))
- {
- OperationTimeHepler.Instance.ProcessConditionError(Operation.GiftPackage);
- return;
- }
- }
- break;
- case JumpUIType.BossReborn:
- {
- if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID))
- {
- OperationTimeHepler.Instance.ProcessConditionError(Operation.BossReborn);
- return;
- }
- }
- break;
- case JumpUIType.VipRechargeFunc3:
- {
- if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID))
- {
- ModelCenter.Instance.GetModel<FairyJadeInvestmentModel>().MessageNotification();
- return;
- }
- }
- break;
- case JumpUIType.VipRechargeFunc5:
- if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID))
- {
- return;
- }
- 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;
- }
- break;
- case JumpUIType.OpenServerGift1:
- case JumpUIType.OpenServerGift2:
- case JumpUIType.OpenServerGift3:
- var giftModel = ModelCenter.Instance.GetModel<OSGiftModel>();
- int giftId = 0;
- int.TryParse(_tagWinSearchModel.SelectActive, out giftId);
- if (!giftModel.CheckActivate())
- {
- if (PlayerDatas.Instance.baseData.coinPointTotal <= 0
- || !ModelCenter.Instance.GetModel<VipModel>().firstChargeRewardGet)
- {
- SysNotifyMgr.Instance.ShowTip("GiftNoOpen");
- }
- else if (giftModel.IsGiftBuy(giftId))
- {
- SysNotifyMgr.Instance.ShowTip("GiftAlreadyBuy");
- }
- else if (giftModel.IsGiftOverdue(giftId))
- {
- SysNotifyMgr.Instance.ShowTip("MissSell");
- }
- return;
- }
- break;
- case JumpUIType.OpenServerGift:
- return;
- case JumpUIType.EquipCompose1:
- case JumpUIType.EquipCompose2:
- case JumpUIType.EquipCompose3:
- case JumpUIType.EquipCompose4:
- case JumpUIType.ComposeTicketFairy:
- case JumpUIType.ComposeTicketGod:
- case JumpUIType.ComposeTicketIce:
- int[] types = ConfigParse.GetMultipleStr<int>(_tagWinSearchModel.SelectActive);
- if (types.Length > 0)
- {
- if (!composeModel.CheckIsComposeByType(_tagWinSearchModel.TABID+1,types[0],types[1]))
- {
- return;
- }
- }
- break;
- case JumpUIType.CeremonyRecharge:
- case JumpUIType.CeremonyFire:
- case JumpUIType.CeremonyPeopleToHi:
- case JumpUIType.CeremonyOutof:
- if (!OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.FairyCeremony))
- {
- SysNotifyMgr.Instance.ShowTip("InOperationTimeError");
- return;
- }
- break;
- }
-
+ if (!CheckIsJump(jumpType)) return;
DebugEx.Log("WindowJumpTo" + jumpType);
-
- GetPreAllOpenWin();
-
#region 鏉′欢鍒ゆ
switch (jumpType)
{
@@ -867,6 +596,286 @@
}
+ private bool CheckIsJump(JumpUIType jumpType)
+ {
+ _tagWinSearchModel = Config.Instance.Get<WindowSearchConfig>((int)jumpType);
+
+ if (_tagWinSearchModel == null)
+ {
+ return false;
+ }
+
+ if (!FuncOpen.Instance.IsFuncOpen(_tagWinSearchModel.Lv) && _tagWinSearchModel.Lv != 0)
+ {
+ FuncOpen.Instance.ProcessorFuncErrorTip(_tagWinSearchModel.Lv);
+ return false;
+ }
+
+ switch (jumpType)
+ {
+ case JumpUIType.UnionFunc1:
+ case JumpUIType.UnionFunc2:
+ case JumpUIType.UnionWarehouse:
+ case JumpUIType.UnionHall:
+ case JumpUIType.UnionTask:
+ case JumpUIType.UnionTask2:
+ case JumpUIType.UnionActive1:
+ case JumpUIType.UnionActive2:
+ case JumpUIType.UnionBoss:
+ if (!PlayerDatas.Instance.fairyData.HasFairy)
+ {
+ SysNotifyMgr.Instance.ShowTip("DailyQuestwinUnionLimit");
+ return false;
+ }
+ break;
+ case JumpUIType.UnionMethod:
+ if (!fairyModel.fairyMethodToOpen)
+ {
+ fairyModel.ProcessMethodToErrorTip();
+ return false;
+ }
+ break;
+ case JumpUIType.UnionStore:
+ 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:
+ bool isUnlock = hostModel.IsUnlockTreasure(int.Parse(_tagWinSearchModel.SelectActive));
+ if (!isUnlock)
+ {
+ hostModel.jumpTreasureId = 0;
+ return false;
+ }
+ break;
+ case JumpUIType.FirstRecharge:
+ var model = ModelCenter.Instance.GetModel<VipModel>();
+ if (model.firstChargeRewardGet)
+ {
+ model.AreadyGetFirstRecharge();
+ return false;
+ }
+ break;
+ case JumpUIType.XMZZBattle:
+ case JumpUIType.AncientBattle:
+ case JumpUIType.IceCrystal:
+ case JumpUIType.FairyLand:
+ DailyQuestConfig dailyConfig = Config.Instance.Get<DailyQuestConfig>(_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<PlayerTaskDatas>();
+ if (taskmodel.SideQuestsDic.Count < 1)
+ {
+ SysNotifyMgr.Instance.ShowTip("SideQuest_None");
+ return false;
+ }
+ break;
+ case JumpUIType.PrayforDrug:
+ var prayModel = ModelCenter.Instance.GetModel<PrayForDurgModel>();
+ if (!prayModel.CheckPrayDrugIsOpen())
+ {
+ return false;
+ }
+ 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:
+ var soulId = 0;
+ if (int.TryParse(_tagWinSearchModel.SelectActive, out soulId))
+ {
+ var soulModel = ModelCenter.Instance.GetModel<TreasureSoulModel>();
+ if (!soulModel.IsOpenTreasureSoul(soulId))
+ {
+ return false;
+ }
+ }
+ else
+ {
+ return false;
+ }
+ break;
+ case JumpUIType.TrialExchange:
+ if (!trialDungeonModel.CompleteTrialFloor(0))
+ {
+ trialDungeonModel.ProcessOpenTrialExchangeError();
+ return false;
+ }
+ break;
+ case JumpUIType.Kylin:
+ case JumpUIType.Kylin1:
+ case JumpUIType.Kylin2:
+ case JumpUIType.Kylin3:
+ case JumpUIType.Kylin4:
+ case JumpUIType.Kylin5:
+ case JumpUIType.Kylin6:
+ if (!FuncOpen.Instance.IsFuncOpen(85))
+ {
+ FuncOpen.Instance.ProcessorFuncErrorTip((int)FuncOpenEnum.Kylin);
+ return false;
+ }
+ break;
+ 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.ConsumreRebate:
+ {
+ if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID))
+ {
+ OperationTimeHepler.Instance.ProcessConditionError(Operation.ConsumeRebate);
+ 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<FairyJadeInvestmentModel>().MessageNotification();
+ return false;
+ }
+ }
+ break;
+ case JumpUIType.VipRechargeFunc5:
+ if (!OpenServerActivityCenter.Instance.IsActivityOpen(_tagWinSearchModel.TABID))
+ {
+ 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:
+ var giftModel = ModelCenter.Instance.GetModel<OSGiftModel>();
+ int giftId = 0;
+ int.TryParse(_tagWinSearchModel.SelectActive, out giftId);
+ if (!giftModel.CheckActivate())
+ {
+ if (PlayerDatas.Instance.baseData.coinPointTotal <= 0
+ || !ModelCenter.Instance.GetModel<VipModel>().firstChargeRewardGet)
+ {
+ SysNotifyMgr.Instance.ShowTip("GiftNoOpen");
+ }
+ else if (giftModel.IsGiftBuy(giftId))
+ {
+ SysNotifyMgr.Instance.ShowTip("GiftAlreadyBuy");
+ }
+ else if (giftModel.IsGiftOverdue(giftId))
+ {
+ SysNotifyMgr.Instance.ShowTip("MissSell");
+ }
+ return false;
+ }
+ 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:
+ int[] types = ConfigParse.GetMultipleStr<int>(_tagWinSearchModel.SelectActive);
+ if (types.Length > 0)
+ {
+ if (!composeModel.CheckIsComposeByType(_tagWinSearchModel.TABID + 1, 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;
+ }
+ return true;
+ }
+
+ private void CheckJumpWin<T>(int _functionalOrder = 0, bool _forceSync = true) where T : Window
+ {
+ string curOpenWin = typeof(T).Name;
+
+ }
+
private void GotoNormalDungeon(int _dailyQuestId, int _lineId = 0)
{
var config = Config.Instance.Get<DailyQuestConfig>(_dailyQuestId);
@@ -901,26 +910,20 @@
SetJumpLogic<MultipleDifficultyDungeonWin>(0);
}
+
+
private void SetJumpLogic<T>(int _functionalOrder = 0, bool _forceSync = true) where T : Window
{
string curOpenWin = typeof(T).Name;
- if(jumpWinNameDict.ContainsKey(jumpPhase - 1))
+ if (WindowCenter.Instance.IsOpen(curOpenWin))
{
- if(jumpWinNameDict[jumpPhase - 1] != curOpenWin)
- {
- jumpWinNameDict.Add(jumpPhase, curOpenWin);
- }
- else
- {
- openWindows[jumpPhase].Clear();
- jumpPhase -= 1;
- }
+ Window window = WindowCenter.Instance.Get(curOpenWin);
+ window.functionOrder = _functionalOrder;
+ window.ChildActive();
+ return;
}
- else
- {
- jumpWinNameDict.Add(jumpPhase, curOpenWin);
- }
-
+ GetPreAllOpenWin();
+ jumpWinNameDict.Add(jumpPhase, curOpenWin);
jumpType = _tagWinSearchModel.Type;
switch (_tagWinSearchModel.Type)
{
@@ -972,6 +975,10 @@
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++)
{
@@ -1019,6 +1026,10 @@
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<MainInterfaceWin>())
{
--
Gitblit v1.8.0