Avalon.Utility.Stream.PacketWriter.WriteBigUniFixed C# (CSharp) Method

WriteBigUniFixed() public method

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
return 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 );
            }*/
        }