Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
 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;
 }