Server.Network.PacketReader.ReadUnicodeStringLE C# (CSharp) Méthode

ReadUnicodeStringLE() public méthode

public ReadUnicodeStringLE ( ) : string
Résultat string
		public string ReadUnicodeStringLE()
		{
			StringBuilder sb = new StringBuilder();

			int c;

			while ( (m_Index + 1) < m_Size && (c = (m_Data[m_Index++] | (m_Data[m_Index++] << 8))) != 0 )
				sb.Append( (char)c );

			return sb.ToString();
		}

Usage Example

Exemple #1
0
		public static string[] DecodePropertyList(this ObjectPropertyList list, ClilocLNG lng)
		{
			if (lng == ClilocLNG.NULL)
			{
				lng = DefaultLanguage;
			}

			int length;
			var data = list.Compile(false, out length);
			var msgs = new List<string>();

			var reader = new PacketReader(data, length, false);
			reader.Seek(15, SeekOrigin.Begin);

			for (int i = 15; i < data.Length - 4;)
			{
				int index = reader.ReadInt32();
				int paramLength = reader.ReadInt16() / 2;

				string param = String.Empty;

				if (paramLength > 0)
				{
					param = reader.ReadUnicodeStringLE(paramLength);
				}

				msgs.Add(GetString(lng, index, param));

				i += (6 + paramLength);
			}

			return msgs.ToArray();
		}