Server.Network.PacketWriter.WriteBigUniFixed C# (CSharp) Méthode

WriteBigUniFixed() public méthode

Writes a fixed-length big-endian unicode string value to the underlying stream. To fit (size), the string content is either truncated or padded with null characters.
public WriteBigUniFixed ( string value, int size ) : void
value string
size int
Résultat void
		public void WriteBigUniFixed( string value, int size )
		{
			if ( value == null )
			{
				Console.WriteLine( "Network: Attempted to WriteBigUniFixed() with null value" );
				value = String.Empty;
			}

			size *= 2;

			int length = value.Length;

			m_Stream.SetLength( m_Stream.Length + size );

			if ( ( length * 2 ) >= size )
				m_Stream.Position += Encoding.BigEndianUnicode.GetBytes( value, 0, length, m_Stream.GetBuffer(), (int)m_Stream.Position );
			else
			{
				Encoding.BigEndianUnicode.GetBytes( value, 0, length, m_Stream.GetBuffer(), (int)m_Stream.Position );
				m_Stream.Position += size;
			}

			/*size *= 2;

			byte[] buffer = Encoding.BigEndianUnicode.GetBytes( value );

			if ( buffer.Length >= size )
			{
				m_Stream.Write( buffer, 0, size );
			}
			else
			{
				m_Stream.Write( buffer, 0, buffer.Length );
				Fill( size - buffer.Length );
			}*/
		}