using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using vnxbqy.UI;
|
|
public class MapUtility
|
{
|
static DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
|
|
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<DungeonModel>();
|
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;
|
}
|
|
}
|