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

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

            if ( !m_CurrentFrame.Empty )
            {
                m_DataInterface.Send( m_CurrentFrame );
                m_CurrentFrame = null;
            }
        }
 private void Service_Incoming_UI_Frame( CUIInputFrame frame )
 {
     frame.Requests.Apply( request => CGenericHandlerManager.Instance.Try_Handle( request ) );
 }