public bool RemoveWorld(World world) { if (world.Manager == null) { log.ErrorFormat("RealmManager tried to remove an uninitialized world!"); return(false); } if (!world.isDisposing) { return(false); } World dummy; if (Worlds.TryRemove(world.Id, out dummy)) { OnWorldRemoved(dummy); world?.Dispose(); } return(false); }
public bool RemoveWorld(World world) { if (world.Manager == null) { throw new InvalidOperationException("World is not added."); } World dummy; if (Worlds.TryRemove(world.Id, out dummy)) { try { OnWorldRemoved(world); world.Dispose(); GC.Collect(); } catch (Exception e) { log.Fatal(e); } return(true); } return(false); }
public bool RemoveWorld(World world) //TODO: Add automatic world removing system for inactive dungeons, etc. { if (world.Manager == null) { throw new InvalidOperationException("World is not added."); } World dummy; if (Worlds.TryRemove(world.Id, out dummy)) { try { OnWorldRemoved(world); world.Dispose(); GC.Collect(); } catch (Exception e) { log.Fatal(e); } return(true); } return(false); }
public bool RemoveWorld(World world) { if (world.Manager == null) { throw new InvalidOperationException("World is not added."); } if (!Worlds.TryRemove(world.Id, out world)) { return(false); } try { OnWorldRemoved(world); world.Dispose(); GC.Collect(); } catch (Exception ex) { log.Error(ex); } return(true); }
public bool RemoveWorld(World world) { if (world.Manager == null) throw new InvalidOperationException("World is not added."); World dummy; if (Worlds.TryRemove(world.Id, out dummy)) { try { OnWorldRemoved(world); world.Dispose(); GC.Collect(); } catch (Exception e) { log.Fatal(e); } return true; } return false; }