public void CleanUp()
        {
            CanBeDamaged = false; // no reskilling plz
            m_Gate = new ConfirmationMoongate(m_OutLoc, m_OutMap);

            m_Gate.GumpWidth = 420;
            m_Gate.GumpHeight = 280;
            m_Gate.TitleNumber = 1062108;
            m_Gate.TitleColor = 0x7800;
            m_Gate.MessageColor = 0x7F00;
            m_Gate.MessageString = "If you leave the Arena now, you wont be able to return and loot. When the arena is purged, all items remaing on player corpses will be returned to the owners backpack.";

            m_Gate.Dispellable = false;
            m_Gate.Movable = false;
            m_Gate.Hue = 1168;
            m_Gate.Name = "Exit Gate";
            m_Gate.MoveToWorld(m_GateLoc, this.Map);


            m_CleanupTimeoutTime = DateTime.Now + TimeSpan.FromMinutes(1.0);
            m_Timer = new ArenaCleanUpTimer(TimeSpan.FromMinutes(1.0), this);
            m_Timer.Start();
        }
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();
            m_StartLoc1 = reader.ReadPoint3D();
            m_StartLoc2 = reader.ReadPoint3D();
            m_OutLoc = reader.ReadPoint3D();
            m_GateLoc = reader.ReadPoint3D();
            m_OutMap = reader.ReadMap();
            m_InUse = reader.ReadBool();
            m_Gate = (ConfirmationMoongate)reader.ReadItem();
            m_LAC = (LadderAreaControl)reader.ReadItem();

            TimeSpan span = reader.ReadTimeSpan();
            m_CleanupTimeoutTime = DateTime.Now + span;
            if (span > TimeSpan.Zero)
            {
                m_Timer = new ArenaCleanUpTimer(span, this);
                m_Timer.Start();
            }
        }