private void Add_Client_Channel( EChannelID channel_id, string channel_name, bool announce_join_leave )
        {
            EClientChannelNumber channel_number = Allocate_Channel_Number();
            CClientChatChannel channel = new CClientChatChannel( channel_id, channel_name, channel_number, announce_join_leave );
            Add_Channel( channel );

            CClientResource.Output_Text( EClientTextID.Client_Chat_Channel_Joined, Build_Channel_Name_Display_String( channel_name, channel_number ) );
        }
        private void Add_Channel( CClientChatChannel channel )
        {
            m_Channels.Add( channel.ChannelID, channel );
            m_ChannelsByName.Add( channel.ChannelName.ToUpper(), channel.ChannelID );
            if ( channel.ChannelNumber != EClientChannelNumber.Invalid )
            {
                m_ChannelsByNumber.Add( channel.ChannelNumber, channel.ChannelID );
            }

            if ( LastChannelUsed == EChannelID.Invalid )
            {
                LastChannelUsed = channel.ChannelID;
            }
        }