Server.Network.PacketReader.ReadUTF8String C# (CSharp) Method

ReadUTF8String() public method

public ReadUTF8String ( ) : string
return string
		public string ReadUTF8String()
		{
			if ( m_Index >= m_Size )
				return String.Empty;

			int count = 0;
			int index = m_Index;

			while ( index < m_Size && m_Data[index++] != 0 )
				++count;

			index = 0;

			byte[] buffer = new byte[count];
			int value = 0;

			while ( m_Index < m_Size && (value = m_Data[m_Index++]) != 0 )
				buffer[index++] = (byte)value;

			return Utility.UTF8.GetString( buffer );
		}

Usage Example

        private static void WorldBroadcast( NetState state, PacketReader pvSrc )
        {
            string message = pvSrc.ReadUTF8String();
            int hue = pvSrc.ReadInt16();
            bool ascii = pvSrc.ReadBoolean();

            World.Broadcast(hue, ascii, message);

            state.Send( new MessageBoxMessage( "Your message has been broadcasted.", "Message Broadcasted" ) );
        }