| | |
| | | using System;
|
| | | using System.Collections;
|
| | | using System.Collections.Generic;
|
| | | using TableConfig;
|
| | | using UnityEngine;
|
| | | using UnityEngine.UI;
|
| | |
|
| | |
| | | [SerializeField] Text m_SurplusTime;
|
| | |
|
| | | FairyGrabBossModel model { get { return ModelCenter.Instance.GetModel<FairyGrabBossModel>(); } }
|
| | | DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
|
| | | BossHomeModel bossHomeModel { get { return ModelCenter.Instance.GetModel<BossHomeModel>(); } }
|
| | | #region Built-in
|
| | | protected override void BindController()
|
| | | {
|
| | |
| | |
|
| | | private void Goto()
|
| | | {
|
| | | var error = 0;
|
| | | if (TestEnterDungeon(out error))
|
| | | {
|
| | | WindowJumpMgr.Instance.ClearJumpData();
|
| | | WindowCenter.Instance.Close<LootPreciousFrameWin>();
|
| | | MapTransferUtility.Instance.MoveToNPC(model.selectBoss);
|
| | | }
|
| | | else
|
| | | {
|
| | | switch (error)
|
| | | {
|
| | | case 4:
|
| | | var dataMapId = dungeonModel.GetDungeonDataIdByMapId(PlayerDatas.Instance.baseData.MapID);
|
| | | var config = Config.Instance.Get<DungeonOpenTimeConfig>(dataMapId);
|
| | | var tip = string.Empty;
|
| | |
|
| | | if (dataMapId == BossHomeModel.BOSSHOME_MAPID)
|
| | | {
|
| | | var vipLevel = PlayerDatas.Instance.baseData.VIPLv;
|
| | | var vipNeed = bossHomeModel.GetFloorVipRequirement(PlayerDatas.Instance.baseData.dungeonLineId + 1);
|
| | | if (vipLevel < vipNeed)
|
| | | {
|
| | | var moneyNeed = bossHomeModel.GetVipLackCost(PlayerDatas.Instance.baseData.dungeonLineId + 1);
|
| | | var dungeonId = dungeonModel.DungeonMap(BossHomeModel.BOSSHOME_MAPID, PlayerDatas.Instance.baseData.dungeonLineId);
|
| | | var dungeonConfig = Config.Instance.Get<DungeonConfig>(dungeonId);
|
| | | tip = Language.Get("QuitRemindBossHome", dungeonConfig.FBName, vipNeed, moneyNeed);
|
| | | }
|
| | | else
|
| | | {
|
| | | tip = Language.Get(config.ExitDescription);
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | tip = Language.Get(config.ExitDescription);
|
| | | }
|
| | |
|
| | | ConfirmCancel.ShowPopConfirm(
|
| | | Language.Get("Mail101"),
|
| | | tip,
|
| | | (bool _ok) =>
|
| | | {
|
| | | if (_ok)
|
| | | {
|
| | | WindowCenter.Instance.Close<FindPreciousFrameWin>();
|
| | | MapTransferUtility.Instance.MoveToNPC(model.selectBoss);
|
| | | }
|
| | | }
|
| | | );
|
| | | break;
|
| | | case 5:
|
| | | SysNotifyMgr.Instance.ShowTip("InDungeon_CantGo");
|
| | | break;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | private bool TestEnterDungeon(out int _error)
|
| | | {
|
| | | if (!PlayerDatas.Instance.fairyData.HasFairy)
|
| | | {
|
| | | _error = 1;
|
| | | return false;
|
| | | }
|
| | | if (!FuncOpen.Instance.IsFuncOpen(139))
|
| | | {
|
| | | _error = 2;
|
| | | return false;
|
| | | }
|
| | | if (!model.IsOpen)
|
| | | {
|
| | | _error = 3;
|
| | | return false;
|
| | | }
|
| | | var mapId = PlayerDatas.Instance.baseData.MapID;
|
| | | var dataMapId = dungeonModel.GetDungeonDataIdByMapId(mapId);
|
| | |
|
| | | if (dataMapId == BossHomeModel.BOSSHOME_MAPID || dataMapId == ElderGodAreaModel.ELDERGODAREA_MAPID)
|
| | | {
|
| | | _error = 4;
|
| | | return false;
|
| | | }
|
| | |
|
| | | var mapConfig = Config.Instance.Get<MapConfig>(mapId);
|
| | | if (mapConfig.MapFBType != (int)MapType.OpenCountry)
|
| | | {
|
| | | _error = 5;
|
| | | return false;
|
| | | }
|
| | |
|
| | | _error = 0;
|
| | | return true;
|
| | | }
|
| | |
|
| | | private void KillRecord()
|