예제 #1
0
        public void Disconnect(string title, string reason)
        {
            Gui.Reset(this);
            World.Reset();
            World.blocks = null;
            Drawer2D.InitColours();
            BlockInfo.Reset(this);

            TexturePackExtractor.ExtractDefault(this);
            Gui.SetNewScreen(new ErrorScreen(this, title, reason));
            GC.Collect();
        }
예제 #2
0
        public void Disconnect(string title, string reason)
        {
            SetNewScreen(new ErrorScreen(this, title, reason));
            World.Reset();
            World.blocks = null;
            Drawer2D.InitColours();

            for (int block = BlockInfo.CpeCount; block < BlockInfo.BlocksCount; block++)
            {
                BlockInfo.ResetBlockInfo((byte)block, false);
            }
            BlockInfo.SetupCullingCache();
            BlockInfo.InitLightOffsets();
            GC.Collect();
        }
예제 #3
0
        public void Disconnect(string title, string reason)
        {
            Events.RaiseDisconnected(title, reason);

            Gui.Reset(this);
            World.Reset();
            WorldEvents.RaiseOnNewMap();

            World.blocks = null;
            Drawer2D.InitColours();
            BlockInfo.Reset(this);
            TexturePack.ExtractDefault(this);
            Gui.SetNewScreen(new DisconnectScreen(this, title, reason));
            GC.Collect();
        }
예제 #4
0
        public void Disconnect(string title, string reason)
        {
            SetNewScreen(new ErrorScreen(this, title, reason));
            Map.Reset();
            Map.mapData = null;
            Drawer2D.InitColours();

            for (int tile = BlockInfo.CpeBlocksCount; tile < BlockInfo.BlocksCount; tile++)
            {
                BlockInfo.ResetBlockInfo((byte)tile, false);
            }
            BlockInfo.SetupCullingCache();
            BlockInfo.InitLightOffsets();
            GC.Collect();
        }