public void SetMap(ushort MapID, short instance = -1)
{
MapInfo info;
if (DataProvider.Instance.MapsByID.TryGetValue(MapID, out info))
{
Map = MapManager.Instance.GetMap(info);
if (Map.Block != null)
{
if (!Map.Block.CanWalk(character.XPos, character.YPos))
{
character.XPos = Map.MapInfo.RegenX;
character.YPos = Map.MapInfo.RegenY;
}
}
Position = new Vector2(character.XPos, character.YPos);
Rotation = 0x55; //degrees / 2
Map.AssignObjectID(this);
}
else
{
Log.WriteLine(LogLevel.Warn, "Character joined the wrong zone. Map {0} doesn't belong here.", MapID);
}
}