protected override void Shutdown()
        {
            base.Shutdown();

            m_CurrentNetworkFrame = null;
            m_CurrentUIFrame = null;
        }
        protected override void Build_Thread_Frames()
        {
            base.Build_Thread_Frames();

            if ( m_CurrentNetworkFrame == null )
            {
                m_CurrentNetworkFrame = new COutboundNetworkFrame();
            }

            if ( m_CurrentUIFrame == null )
            {
                m_CurrentUIFrame = new CUIOutputFrame();
            }
        }
        protected override void Flush_Data_Frames( long current_time )
        {
            base.Flush_Data_Frames( current_time );

            if ( !m_CurrentNetworkFrame.Empty )
            {
                m_NetworkDataInterface.Send( m_CurrentNetworkFrame );
                m_CurrentNetworkFrame = null;
            }

            if ( !m_CurrentUIFrame.Empty )
            {
                m_UIDataInterface.Send( m_CurrentUIFrame );
                m_CurrentUIFrame = null;
            }
        }