public int GetRegionId()
{
var id = -1;
lock (_syncLock)
{
for (int i = MabiId.DungeonRegions; i < MabiId.DynamicRegions; ++i)
{
if (!_regionIds.Contains(i))
{
id = i;
break;
}
}
_regionIds.Add(id);
}
if (id == -1)
throw new Exception("No dungeon region ids available.");
return id;
}