//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Monday, September 18, 2017
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
using DG.Tweening;
|
|
|
namespace vnxbqy.UI
|
{
|
|
public class DungeonFightWin : Window
|
{
|
[SerializeField] Button m_ExitDungeon;
|
[SerializeField] RectTransform m_ExitContainer;
|
[SerializeField] Text m_ExitCoolDown;
|
[SerializeField] DungeonInspireBehaviour m_Inspire;
|
[SerializeField] DungeonLiquidBehaviour m_Liquid;
|
[SerializeField] RectTransform m_ContainerFuncUp;
|
[SerializeField] RectTransform m_ContainerFuncBottom;
|
[SerializeField] RectTransform m_ContainerFuncBtn;
|
[SerializeField] RectTransform m_ContainerResPoint;
|
[SerializeField] RectTransform m_CrossContainerResPoint;
|
[SerializeField] RectTransform m_ContainerAncient;
|
[SerializeField] Button m_RidingPetBossReward;
|
[SerializeField] Button m_AncientBtn;
|
[SerializeField] AncientKingBehaviour m_AncientKing;
|
[SerializeField] DungeonItemCollect m_ItemCollect;
|
[SerializeField] DungeonGuardSkyBehaviour m_GuardSky;
|
[SerializeField] DungeonBossBriefInfoContainer m_BossInfosContainer;
|
[SerializeField] GameObject m_Container_WHYJ;
|
[SerializeField] DungenWHYJ m_DungenWHYJ;
|
[SerializeField] DungeonReturnBloodBehaviour m_DungeonReturnBlood;
|
[SerializeField] DungeonSuperGiftBehaviour m_DungeonSuperGift;
|
bool excutedAutoExit = false;
|
float timer = 0f;
|
DateTime endTime = DateTime.Now;
|
float existSurplusTime = 10f;
|
|
int collectItem = 0;
|
|
Tweener m_Tweener;
|
|
int ruinsTranscriptMapId = 0;
|
DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
|
PlayerMainDate main { get { return ModelCenter.Instance.GetModel<PlayerMainDate>(); } }
|
RuneTowerModel runeTowerModel { get { return ModelCenter.Instance.GetModel<RuneTowerModel>(); } }
|
SkyTowerModel skyTowerModel { get { return ModelCenter.Instance.GetModel<SkyTowerModel>(); } }
|
BossHomeModel bossHomeModel { get { return ModelCenter.Instance.GetModel<BossHomeModel>(); } }
|
TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
|
DungeonUseBuffModel dungeonUseBuffModel { get { return ModelCenter.Instance.GetModel<DungeonUseBuffModel>(); } }
|
HazyGrassModel hazyGrassModel { get { return ModelCenter.Instance.GetModel<HazyGrassModel>(); } }
|
HazyDemonKingModel hazyDemonKingModel { get { return ModelCenter.Instance.GetModel<HazyDemonKingModel>(); } }
|
RealmModel realmModel { get { return ModelCenter.Instance.GetModel<RealmModel>(); } }
|
CrossServerBossModel crossServerBossModel { get { return ModelCenter.Instance.GetModel<CrossServerBossModel>(); } }
|
|
#region Built-in
|
protected override void BindController()
|
{
|
ruinsTranscriptMapId = int.Parse(FuncConfigConfig.Get("SpRewardMapID").Numerical1);
|
}
|
|
protected override void AddListeners()
|
{
|
m_ExitDungeon.AddListener(ExitDungeon);
|
m_AncientBtn.onClick.AddListener(OnAncientBtn);
|
m_RidingPetBossReward.AddListener(OnRidingPetBossReward);
|
}
|
|
|
protected override void OnPreOpen()
|
{
|
try
|
{
|
m_ExitDungeon.SetActive(!CrossServerUtility.IsCrossServerOneVsOne());
|
timer = 1f;
|
excutedAutoExit = false;
|
existSurplusTime = (float)(model.GetCoolDownEndTime(DungeonCoolDownType.LeaveMap) - TimeUtility.ServerNow).TotalSeconds;
|
|
ShowItemCollect();
|
ShowResPoint();
|
|
m_Inspire.SetActive(false);
|
m_Liquid.SetActive(false);
|
var dataMapId = model.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
|
m_ContainerAncient.SetActive(dataMapId == 31160);
|
m_BossInfosContainer.SetActive(
|
dataMapId == ElderGodAreaModel.ELDERGODAREA_MAPID
|
|| dataMapId == BossHomeModel.BOSSHOME_MAPID);
|
|
if (dungeonUseBuffModel.IsDungeonUseBuff(dataMapId))
|
{
|
m_DungeonReturnBlood.SetActive(true);
|
m_DungeonReturnBlood.Display(dataMapId);
|
}
|
else
|
{
|
m_DungeonReturnBlood.SetActive(false);
|
}
|
|
switch (dataMapId)
|
{
|
case 31080:
|
m_Inspire.SetActive(true);
|
m_Liquid.SetActive(true);
|
ModelCenter.Instance.GetModel<DemonJarModel>().AutoConfirm();
|
break;
|
case DemonJarModel.DATA_MAPID:
|
var _bossId = ModelCenter.Instance.GetModel<DemonJarModel>().GetBossIdByLine(model.currentDungeon.lineId);
|
var _cfg = DemonJarConfig.Get(_bossId);
|
m_Inspire.SetActive(_cfg != null && _cfg.CanEnterTimes == 0);
|
break;
|
case 31190:
|
DropItemManager.pickUpCallBack += OnPickItem;
|
break;
|
case ElderGodAreaModel.ELDERGODAREA_MAPID:
|
//case BossHomeModel.BOSSHOME_MAPID:
|
// m_BossInfosContainer.Display(dataMapId);
|
// break;
|
case 31160:
|
m_AncientKing.Init();
|
break;
|
case JadeDynastyBossModel.JADEDYNASTY_MAP:
|
case AllianceBossModel.DATAMAPID:
|
case RidingPetBossModel.RIDINGPETBOSS_MAP:
|
m_Inspire.SetActive(true);
|
break;
|
default:
|
break;
|
}
|
m_GuardSky.SetActive(dataMapId == 31170);
|
m_ContainerFuncBtn.localPosition = MainPositionTween.isDefaultState ? m_ContainerFuncBottom.localPosition : m_ContainerFuncUp.localPosition;
|
m_RidingPetBossReward.SetActive(dataMapId == RidingPetBossModel.RIDINGPETBOSS_MAP);
|
m_DungeonSuperGift.Display();
|
|
model.dungeonCoolDownEvent += OnLeaveMapTimeEvent;
|
MainPositionTween.switchFunctionStateEvent += OnChangeFuncBtnPosEvent;
|
WindowCenter.Instance.windowAfterCloseEvent += WindowAfterCloseEvent;
|
if (WHYJBool())
|
{
|
m_Container_WHYJ.SetActive(true);
|
m_DungenWHYJ.Init();
|
}
|
else
|
{
|
m_Container_WHYJ.SetActive(false);
|
}
|
}
|
catch (System.Exception ex)
|
{
|
#if !UNITY_EDITOR
|
OperationLogCollect.Instance.BugReport("DungeonFightWin", ex.ToString());
|
#endif
|
}
|
}
|
|
protected override void OnAfterOpen()
|
{
|
if (PlayerDatas.Instance.baseData.MapID == IceCrystalVeinModel.ICECRYSTALVEIN_MAPID)
|
{
|
var iceCrystalVeinModel = ModelCenter.Instance.GetModel<IceCrystalVeinModel>();
|
iceCrystalVeinModel.IsIceCrystalVein_Copy = true;
|
}
|
}
|
|
protected override void OnPreClose()
|
{
|
if (m_Tweener != null)
|
{
|
m_Tweener.Kill(false);
|
m_Tweener = null;
|
}
|
m_ContainerFuncBtn.localPosition = m_ContainerFuncBottom.localPosition;
|
m_BossInfosContainer.Dispose();
|
m_AncientKing.UnInit();
|
m_DungeonReturnBlood.Dispose();
|
m_DungeonSuperGift.Dispose();
|
DropItemManager.pickUpCallBack -= OnPickItem;
|
MainPositionTween.switchFunctionStateEvent -= OnChangeFuncBtnPosEvent;
|
model.dungeonCoolDownEvent -= OnLeaveMapTimeEvent;
|
WindowCenter.Instance.windowAfterCloseEvent -= WindowAfterCloseEvent;
|
}
|
|
protected override void OnAfterClose()
|
{
|
m_DungenWHYJ.Unit();
|
var iceCrystalVeinModel = ModelCenter.Instance.GetModel<IceCrystalVeinModel>();
|
if (iceCrystalVeinModel.IsIceCrystalVein_Copy)
|
{
|
iceCrystalVeinModel.IsIceCrystalVein_Copy = false;
|
PopupWindowsProcessor.Instance.Add("IceCrystalVeinWin");
|
}
|
|
}
|
|
protected override void LateUpdate()
|
{
|
base.LateUpdate();
|
|
UpdateDungeonExitTime();
|
}
|
#endregion
|
|
private void WindowAfterCloseEvent(Window window)
|
{
|
if (window is TreasureBaseWin)
|
{
|
if (m_Tweener != null)
|
{
|
m_Tweener.Kill(false);
|
m_Tweener = null;
|
}
|
|
m_ContainerFuncBtn.localPosition = MainPositionTween.isDefaultState ? m_ContainerFuncBottom.localPosition : m_ContainerFuncUp.localPosition;
|
}
|
}
|
|
private void OnLeaveMapTimeEvent(DungeonCoolDownType _type)
|
{
|
if (_type != DungeonCoolDownType.LeaveMap)
|
{
|
return;
|
}
|
|
excutedAutoExit = false;
|
existSurplusTime = (float)(model.GetCoolDownEndTime(DungeonCoolDownType.LeaveMap) - TimeUtility.ServerNow).TotalSeconds;
|
}
|
|
private void ExitDungeon()
|
{
|
if (AdventureStage.Instance.IsInAdventureStage)
|
{
|
ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("HazyExitAdventureConfirm"), (bool isOk) =>
|
{
|
if (isOk)
|
{
|
AdventureStage.Instance.Exit();
|
}
|
});
|
return;
|
}
|
|
var dataMapId = model.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
|
var config = DungeonOpenTimeConfig.Get(dataMapId);
|
string language = string.Empty;
|
if (dataMapId == BossHomeModel.BOSSHOME_MAPID)
|
{
|
var vipLevel = PlayerDatas.Instance.baseData.VIPLv;
|
var vipNeed = bossHomeModel.GetFloorVipRequirement(PlayerDatas.Instance.baseData.dungeonLineId + 1);
|
var dungeonId = model.GetDungeonId(dataMapId, PlayerDatas.Instance.baseData.dungeonLineId);
|
var dungeonConfig = DungeonConfig.Get(dungeonId);
|
|
if (vipLevel < vipNeed)
|
{
|
var moneyNeed = bossHomeModel.GetVipLackCost(PlayerDatas.Instance.baseData.dungeonLineId + 1);
|
language = Language.Get("QuitRemindBossHome", dungeonConfig.FBName, vipNeed, moneyNeed);
|
}
|
else
|
{
|
//language = Language.Get(config.ExitDescription);
|
}
|
}
|
else
|
{
|
language = Language.Get(config.ExitDescription);
|
}
|
|
if (language == string.Empty)
|
{
|
ExitDungeon_OK(dataMapId);
|
}
|
else
|
{
|
ConfirmCancel.ShowPopConfirm(
|
Language.Get("Mail101"),
|
language,
|
(bool _ok) =>
|
{
|
if (_ok)
|
{
|
ExitDungeon_OK(dataMapId);
|
}
|
}
|
);
|
}
|
}
|
|
private void ExitDungeon_OK(int dataMapId)
|
{
|
switch (dataMapId)
|
{
|
case HazyGrassModel.FAIRY_DATAMAP:
|
case HazyGrassModel.REIKI_DATAMAP:
|
case HazyDemonKingModel.CROSSSERVERDATAMAP:
|
case CrossServerBossModel.DATA_MAPID:
|
crossServerBossModel.RequestExit();
|
break;
|
case TreasureModel.CLIENTDATAMAP:
|
case HazyRegionModel.PRECIOUS_CLIENTDATAMAP:
|
case PersonalBossModel.PERSONALBOSS_MAPID:
|
case ClientGuardDungeon.DATAMAPID:
|
case HazyGrassModel.REIKI_CLIENTDATAMAP:
|
case HazyGrassModel.FAIRY_CLIENTDATAMAP:
|
case HazyDemonKingModel.CLIENTDATAMAP:
|
case CommonDungeonSelectModel.CommonDungenMapID1:
|
case CommonDungeonSelectModel.CommonDungenMapID2:
|
case CommonDungeonSelectModel.CommonDungenMapID3:
|
case CommonDungeonSelectModel.CommonDungenMapID4:
|
case CommonDungeonSelectModel.CommonDungenMapID5:
|
ClientDungeonStageUtility.ExitNormalClientDungeon();
|
break;
|
case DemonJarModel.DATA_MAPID:
|
if (StageLoad.Instance.currentStage is JiaDemonJarDungeonStage)
|
{
|
ClientDungeonStageUtility.ExitNormalClientDungeon();
|
}
|
else
|
{
|
model.ExitCurrentDungeon();
|
}
|
break;
|
default:
|
if (!CrossServerUtility.IsCrossServer())
|
{
|
model.ExitCurrentDungeon();
|
}
|
else
|
{
|
crossServerBossModel.RequestExit();
|
}
|
break;
|
}
|
}
|
|
private void ShowItemCollect()
|
{
|
var isShowCollect = PlayerDatas.Instance.baseData.MapID == 31190
|
&& model.currentDungeon.lineId >= 0 && model.currentDungeon.lineId < GeneralDefine.kylinHomeCollectItems.Length;
|
|
if (isShowCollect)
|
{
|
m_ItemCollect.SetActive(true);
|
collectItem = GeneralDefine.kylinHomeCollectItems[model.currentDungeon.lineId];
|
m_ItemCollect.Init(collectItem);
|
}
|
else
|
{
|
collectItem = 0;
|
m_ItemCollect.SetActive(false);
|
}
|
}
|
|
private void ShowResPoint()
|
{
|
m_ContainerResPoint.SetActive(PlayerDatas.Instance.baseData.MapID == FairyLeagueModel.FAIRY_LEAGUE_DUNGEON);
|
m_CrossContainerResPoint.SetActive(model.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID) == GeneralDefine.CrossBattleFieldMapID);
|
}
|
|
private void OnPickItem(int _pickInstanceId)
|
{
|
var itemId = 0;
|
DropItemManager.TryGetItemIdFromInstanceId(_pickInstanceId, out itemId);
|
if (collectItem == itemId)
|
{
|
var flyObject = DungeonItemCollectFlyObjectPool.Require();
|
flyObject.transform.SetParentEx(this.transform, Vector3.zero, Quaternion.identity, Vector3.one);
|
Vector3 position;
|
if (DropItemManager.TryGetDropPositionFromInstanceId(_pickInstanceId, out position))
|
{
|
var uiPosition = CameraUtility.ConvertToUIPosition(CameraManager.sceneCamera, position);
|
flyObject.Begin(uiPosition, DungeonItemCollect.Instance.transform.position, ItemCollectFlyEnd);
|
}
|
|
model.specialItemCollectRecord = new Item(collectItem, model.specialItemCollectRecord.count + 1);
|
}
|
}
|
|
private void ItemCollectFlyEnd()
|
{
|
m_ItemCollect.OnCollect();
|
}
|
|
private void OnChangeFuncBtnPosEvent(bool immedidately)
|
{
|
if (immedidately)
|
{
|
m_ContainerFuncBtn.localPosition = MainPositionTween.isDefaultState ? m_ContainerFuncBottom.localPosition : m_ContainerFuncUp.localPosition;
|
}
|
else
|
{
|
if (MainPositionTween.isDefaultState)
|
{
|
m_Tweener = m_ContainerFuncBtn.DOLocalMoveY(m_ContainerFuncBottom.localPosition.y, 1);
|
}
|
else
|
{
|
m_Tweener = m_ContainerFuncBtn.DOLocalMoveY(m_ContainerFuncUp.localPosition.y, 1);
|
}
|
}
|
}
|
|
private void ProcessDungeonEndCoolDown()
|
{
|
if (ClientDungeonStageUtility.isClientDungeon)
|
{
|
switch (ClientDungeonStageUtility.clientMapId)
|
{
|
case TreasureModel.CLIENTDATAMAP:
|
case HazyGrassModel.FAIRY_CLIENTDATAMAP:
|
case HazyGrassModel.REIKI_CLIENTDATAMAP:
|
case PersonalBossModel.PERSONALBOSS_MAPID:
|
case HazyDemonKingModel.CLIENTDATAMAP:
|
case DemonJarModel.SINGLEMAPID:
|
case ClientGuardDungeon.DATAMAPID:
|
case CommonDungeonSelectModel.CommonDungenMapID1:
|
case CommonDungeonSelectModel.CommonDungenMapID2:
|
case CommonDungeonSelectModel.CommonDungenMapID3:
|
case CommonDungeonSelectModel.CommonDungenMapID4:
|
case CommonDungeonSelectModel.CommonDungenMapID5:
|
ClientDungeonStageUtility.ExitNormalClientDungeon();
|
break;
|
}
|
return;
|
}
|
|
var dataMapId = MapUtility.GetDataMapId(PlayerDatas.Instance.baseData.MapID);
|
switch (dataMapId)
|
{
|
case RuneTowerModel.RUNETOWER_MAPID:
|
ProcessRuneTowerExitCoolDownEnd();
|
break;
|
case 41110:
|
TreasureDungeon treasureDungeon;
|
if (treasureModel.TryGetTreasureDungeon(41110, model.dungeonResult.lineID, out treasureDungeon)
|
&& model.dungeonResult.isPass == 1)
|
{
|
var dungeonInfo = treasureDungeon.Get(model.dungeonResult.wheel + 1);
|
if (!dungeonInfo.Equals(default(TreasureDungeonInfo)))
|
{
|
if (PlayerDatas.Instance.baseData.FightPoint >= (ulong)dungeonInfo.fightPower
|
|| (int)UIHelper.GetPropertyValue(PropertyType.DEF) >= dungeonInfo.defense)
|
{
|
treasureModel.DemonDungeonChallengeNext(model.dungeonResult.lineID);
|
}
|
else
|
{
|
model.ExitCurrentDungeon();
|
}
|
}
|
else
|
{
|
model.ExitCurrentDungeon();
|
}
|
}
|
else
|
{
|
model.ExitCurrentDungeon();
|
}
|
break;
|
case RealmModel.REALM_DUNGEON_ID:
|
if (model.dungeonResult.isPass != 1)
|
{
|
model.ExitCurrentDungeon();
|
}
|
break;
|
case SkyTowerModel.DATA_MAPID:
|
ProcessSkyTowerExitCoolDownEnd();
|
break;
|
case RealmModel.Tower_MapId:
|
ProcessRealmTowerExitCoolDownEnd();
|
break;
|
case HazyDemonKingModel.CROSSSERVERDATAMAP:
|
case HazyGrassModel.REIKI_DATAMAP:
|
case HazyGrassModel.FAIRY_DATAMAP:
|
crossServerBossModel.RequestExit();
|
break;
|
default:
|
model.ExitCurrentDungeon();
|
if (!CrossServerUtility.IsCrossServer())
|
{
|
model.ExitCurrentDungeon();
|
}
|
else
|
{
|
crossServerBossModel.RequestExit();
|
}
|
break;
|
}
|
}
|
|
private void OnAncientBtn()
|
{
|
if (WindowCenter.Instance.IsOpen<DungeonAncientAchieveWin>())
|
{
|
WindowCenter.Instance.Close<DungeonAncientAchieveWin>();
|
}
|
else
|
{
|
WindowCenter.Instance.Open<DungeonAncientAchieveWin>();
|
}
|
}
|
|
private void UpdateDungeonExitTime()
|
{
|
if (existSurplusTime > 0f)
|
{
|
timer += Time.deltaTime;
|
existSurplusTime -= Time.deltaTime;
|
var dataMapId = model.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
|
|
if (timer > 1f)
|
{
|
timer = 0f;
|
switch (dataMapId)
|
{
|
case PersonalBossModel.PERSONALBOSS_MAPID:
|
m_ExitCoolDown.text = Language.Get("QuitCountDownPersonalBoss", (int)existSurplusTime);
|
break;
|
case 31210:
|
m_ExitCoolDown.text = Language.Get("QuitCountDownUnionBoss", (int)existSurplusTime);
|
break;
|
default:
|
break;
|
}
|
}
|
|
if (dataMapId == PersonalBossModel.PERSONALBOSS_MAPID || dataMapId == 31210)
|
{
|
if (!m_ExitContainer.gameObject.activeInHierarchy)
|
{
|
m_ExitContainer.SetActive(true);
|
}
|
}
|
else
|
{
|
if (m_ExitContainer.gameObject.activeInHierarchy)
|
{
|
m_ExitContainer.SetActive(false);
|
}
|
}
|
|
if (existSurplusTime < 1f && !excutedAutoExit)
|
{
|
excutedAutoExit = true;
|
ProcessDungeonEndCoolDown();
|
}
|
}
|
else
|
{
|
if (m_ExitContainer.gameObject.activeInHierarchy)
|
{
|
m_ExitContainer.SetActive(false);
|
}
|
}
|
|
}
|
|
private bool WHYJBool()//判断是否在娲皇遗迹副本
|
{
|
var dataMapId = model.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
|
if (dataMapId == GeneralDefine.ruinsTranscriptMapId)
|
{
|
return true;
|
}
|
else
|
{
|
return false;
|
}
|
}
|
|
private void OnRidingPetBossReward()
|
{
|
WindowCenter.Instance.Open<RidingPetBossRewardWin>();
|
}
|
|
private void ProcessRuneTowerExitCoolDownEnd()
|
{
|
if (runeTowerModel.waitNextConfirm)
|
{
|
return;
|
}
|
|
if (runeTowerModel.allTowerCompleted)
|
{
|
model.ExitCurrentDungeon();
|
return;
|
}
|
|
var config = RuneTowerFloorConfig.Get(runeTowerModel.currentFloor);
|
var lastFloor = (int)ModelCenter.Instance.GetModel<RuneModel>().passRuneTowerFloor;
|
var lastFloorConfig = RuneTowerFloorConfig.Get(lastFloor);
|
var nextLevelable = model.dungeonResult.isPass == 1 && config.TowerId == lastFloorConfig.TowerId && lastFloorConfig.AutoExit == 0;
|
if (!nextLevelable)
|
{
|
model.ExitCurrentDungeon();
|
return;
|
}
|
|
if (PlayerDatas.Instance.baseData.FightPoint >= (ulong)NPCExConfig.Get(config.BossId).SuppressFightPower)
|
{
|
var runeTowerStage = StageLoad.Instance.currentStage as RuneTowerDungeonStage;
|
runeTowerStage.PerformChallengeNextLevel();
|
model.UpdateCoolDown(DungeonCoolDownType.LeaveMap, 0);
|
model.UpdateCoolDown(DungeonCoolDownType.FightStart, 0);
|
WindowCenter.Instance.Close<DungeonRuneTowerVictoryWin>();
|
|
return;
|
}
|
|
ConfirmCancel.ShowRuneTowerPopConfirm(
|
Language.Get("Mail101"),
|
Language.Get("RuneTower25", UIHelper.ReplaceLargeNum(NPCExConfig.Get(config.BossId).SuppressFightPower)),
|
(Action<bool>)((bool ok) =>
|
{
|
if (ok)
|
{
|
var runeTowerStage = StageLoad.Instance.currentStage as RuneTowerDungeonStage;
|
runeTowerStage.PerformChallengeNextLevel();
|
model.UpdateCoolDown(DungeonCoolDownType.LeaveMap, 0);
|
model.UpdateCoolDown(DungeonCoolDownType.FightStart, 0);
|
WindowCenter.Instance.Close<DungeonRuneTowerVictoryWin>();
|
}
|
else
|
{
|
model.ExitCurrentDungeon();
|
}
|
})
|
);
|
}
|
|
private void ProcessSkyTowerExitCoolDownEnd()
|
{
|
if (model.dungeonResult.isPass == 0)
|
{
|
model.ExitCurrentDungeon();
|
return;
|
}
|
|
var config = SkyTowerConfig.Get(skyTowerModel.currentFloor);
|
if (!skyTowerModel.IsChallengable())
|
{
|
model.ExitCurrentDungeon();
|
return;
|
}
|
|
var skyTowerStage = StageLoad.Instance.currentStage as SkyTowerDungeonStage;
|
if (skyTowerStage != null)
|
{
|
model.UpdateCoolDown(DungeonCoolDownType.LeaveMap, 0);
|
model.UpdateCoolDown(DungeonCoolDownType.FightStart, 0);
|
skyTowerStage.PerformChallengeNextLevel();
|
}
|
}
|
|
private void ProcessRealmTowerExitCoolDownEnd()
|
{
|
|
if (model.dungeonResult.isPass == 0)
|
{
|
model.ExitCurrentDungeon();
|
return;
|
}
|
|
if (realmModel.currentFloor != realmModel.selectFloorID || RealmTowerConfig.Get(realmModel.currentFloor).NeedRealmLV > PlayerDatas.Instance.baseData.realmLevel)
|
{
|
model.ExitCurrentDungeon();
|
return;
|
}
|
|
//realmModel.RequestRefreshMonster();
|
WindowCenter.Instance.Open<RealmTowerHintWin>();
|
Clock.AlarmAfter(2f, () =>
|
{
|
WindowCenter.Instance.Open<DungeonEndCoolDownWin>();
|
});
|
}
|
}
|
|
}
|
|
|
|
|