using Snxxz.UI; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class ClientTreasureDungeon { public const int Client_DataMap = 4000; public static int challengeTreasureId = 0; public static void RequestEnter(int treasureId) { challengeTreasureId = treasureId; var hero = PlayerDatas.Instance.hero; if (hero != null) { hero.StopAll(); } MapTransferUtility.Instance.Clear(); ClientDungeonStageUtility.SetClientDungeon(true, (ushort)Client_DataMap); ClientDungeonStageUtility.RequestStartClientDungeon(0, 0); StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand() { toMapId = Client_DataMap, toLineId = 0, needEmpty = true, needLoadResource = true, serverType = ServerType.Main, isClientLoadMap = true }); PlayerDatas.Instance.baseData.mainServerMapIdRecord = PlayerDatas.Instance.baseData.MapID; PlayerDatas.Instance.baseData.MapID = (ushort)Client_DataMap; } public static void RequestExit() { ClientDungeonStageUtility.SetClientDungeon(false, 0); PlayerDatas.Instance.extersion.pkState = 0; ModelCenter.Instance.GetModel().ResetBufData(); StageLoad.Instance.onStageLoadFinish -= OnStageLoadFinish; StageLoad.Instance.onStageLoadFinish += OnStageLoadFinish; PlayerDatas.Instance.baseData.MapID = PlayerDatas.Instance.baseData.mainServerMapIdRecord; StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand() { toMapId = PlayerDatas.Instance.baseData.MapID, toLineId = 0, needEmpty = true, needLoadResource = true, serverType = ServerType.Main, isClientLoadMap = true, refreshPlayerDatas = true }); } private static void OnStageLoadFinish() { ClientDungeonStageUtility.RequestExitClientDungeon(); StageLoad.Instance.onStageLoadFinish -= OnStageLoadFinish; } }