private bool Remove(long instanceId)
{
Dungeon dungeon;
lock (_syncLock)
{
if (!_dungeons.TryGetValue(instanceId, out dungeon))
return false;
foreach (var region in dungeon.Regions)
{
_regionIds.Remove(region.Id);
ChannelServer.Instance.World.RemoveRegion(region.Id);
}
_dungeons.Remove(instanceId);
}
return true;
}