Inheritance: Connection, IPlayerConnection
        public new void Reset()
        {
            if (TileSections != null && TileSections.GetLength(0) >= Main.maxSectionsX && TileSections.GetLength(1) >= Main.maxSectionsY)
            {
                Array.Clear(TileSections, 0, TileSections.GetLength(0) * TileSections.GetLength(1));
            }
            else
            {
                TileSections = new bool[Main.maxSectionsX, Main.maxSectionsY];
            }

            var oldPlayer = Main.player[this.Id];
            if (oldPlayer != null && state != SlotState.VACANT)
            {
                NewNetMessage.OnPlayerLeft(oldPlayer, this, IsAnnouncementCompleted);
            }
            IsAnnouncementCompleted = false;
            this.remoteAddress = "<unknown>";

            if (this.Id < 255)
            {
                Main.player[this.Id] = new Player();
            }

            this.StatusCount = 0;
            this.StatusMax = 0;
            this.StatusText2 = String.Empty;
            this.StatusText = String.Empty;
            this.Name = "Anonymous";
            this.conn = null;

            this.SpamClear();

            conn = null;
        }