using System.Collections; using System.Collections.Generic; using UnityEngine; using vnxbqy.UI; public class MapUtility { static DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel(); } } public static int GetMapId(int dataMapId, int lineId) { var dungeonId = dungeonModel.GetDungeonId(dataMapId, lineId); if (dungeonId==0) { return dataMapId; } else { var config = DungeonConfig.Get(dungeonId); return config == null ? dataMapId : config.MapID; } } public static int GetDataMapId(int mapId) { var config = MapConfig.Get(mapId); if (config == null) { DebugEx.LogErrorFormat("错误的地图id:{0}", mapId); return 0; } var dataMapId = 0; if (config.MapFBType == (int)MapType.OpenCountry) { dataMapId = mapId; } else { var dungeonModel = ModelCenter.Instance.GetModel(); dataMapId = dungeonModel.GetDataMapIdByMapId(mapId); } return dataMapId; } public static int GetDataMapId() { return GetDataMapId(PlayerDatas.Instance.baseData.MapID); } public static int GetLineId(int mapId, int lineId) { var config = MapConfig.Get(mapId); if (config == null) { DebugEx.LogErrorFormat("错误的地图id:{0}", mapId); return 0; } if (mapId == 52010 || mapId == 52020 || config.MapFBType == (int)MapType.OpenCountry) { return 0; } else { return lineId; } } public static int GetLineId() { return GetLineId(PlayerDatas.Instance.baseData.MapID, PlayerDatas.Instance.baseData.dungeonLineId); } public static int GetMapResourceId(int mapId, int lineId) { var resourceId = 1; var dataMapId = GetDataMapId(mapId); var config = MapResourcesConfig.GetConfig(dataMapId, lineId); if (config != null) { resourceId = config.ID; } return resourceId; } public static bool IsDungeon(int mapId) { var config = MapConfig.Get(mapId); if (config == null) { DebugEx.LogErrorFormat("错误的地图id:{0}", mapId); return false; } return config.MapFBType != (int)MapType.OpenCountry; } public static bool IsCrossServerMap(int mapId) { var dataMapId = GetDataMapId(mapId); return dataMapId == CrossServerOneVsOneModel.CrossServerDataMapId || dataMapId == CrossServerBossModel.DATA_MAPID; } }