// Construction
 public CClientChatChannel( EChannelID channel_id, string channel_name, EClientChannelNumber channel_number, bool announce_join_leave )
 {
     ChannelID = channel_id;
     ChannelName = channel_name;
     ChannelNumber = channel_number;
     AnnounceJoinLeave = announce_join_leave;
 }
        private CClientChatChannel Get_Channel_By_Channel_Number( EClientChannelNumber channel_number )
        {
            EChannelID channel_id = EChannelID.Invalid;
            if ( !m_ChannelsByNumber.TryGetValue( channel_number, out channel_id ) )
            {
                return null;
            }

            return Get_Channel_By_Channel_ID( channel_id );
        }
        private string Build_Chat_Line( string channel_name, string player_name, string chat_message, EClientChannelNumber channel_number )
        {
            StringBuilder builder = new StringBuilder();
            builder.Append( Build_Channel_Name_Display_String( channel_name, channel_number ) );
            builder.Append( " " );
            builder.Append( player_name );
            builder.Append( ": " );
            builder.Append( chat_message );

            return builder.ToString();
        }
        private string Build_Channel_Name_Display_String( string channel_name, EClientChannelNumber channel_number )
        {
            StringBuilder builder = new StringBuilder();
            builder.Append( "[" );
            if ( channel_number != EClientChannelNumber.Invalid )
            {
                builder.Append( channel_number.ToString() );
                builder.Append( ". " );
            }
            builder.Append( channel_name );
            builder.Append( "]" );

            return builder.ToString();
        }