本文整理汇总了C#中PacketReader.ReadUnicodeStringBE方法的典型用法代码示例。如果您正苦于以下问题:C# PacketReader.ReadUnicodeStringBE方法的具体用法?C# PacketReader.ReadUnicodeStringBE怎么用?C# PacketReader.ReadUnicodeStringBE使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PacketReader
的用法示例。
在下文中一共展示了PacketReader.ReadUnicodeStringBE方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OnLocalizedMessage
private static void OnLocalizedMessage(PacketReader p, PacketHandlerEventArgs args)
{
Serial serial = p.ReadUInt32();
ItemID graphic = p.ReadUInt16();
byte type = p.ReadByte();
ushort hue = p.ReadUInt16();
ushort font = p.ReadUInt16();
int num = p.ReadInt32();
string name = p.ReadStringSafe(30);
string arguments = p.ReadUnicodeStringBE(((p.Length - 1) - p.Position) / 2);
Handle(localizedMessage, args, serial, graphic, type, hue, font, num, name, arguments);
}
示例2: Read
public void Read( PacketReader p )
{
m_Content.Clear();
p.Seek( 5, System.IO.SeekOrigin.Begin ); // seek to packet data
p.ReadUInt32(); // serial
p.ReadByte(); // 0
p.ReadByte(); // 0
m_Hash = p.ReadInt32();
m_StringNums.Clear();
m_StringNums.AddRange( m_DefaultStringNums );
while ( p.Position < p.Length )
{
int num = p.ReadInt32();
if ( num == 0 )
break;
m_StringNums.Remove( num );
short bytes = p.ReadInt16();
string args = null;
if ( bytes > 0 )
args = p.ReadUnicodeStringBE( bytes >> 1 );
m_Content.Add( new OPLEntry( num, args ) );
}
for(int i=0;i<m_CustomContent.Count;i++)
{
OPLEntry ent = (OPLEntry)m_CustomContent[i];
if ( m_StringNums.Contains( ent.Number ) )
{
m_StringNums.Remove( ent.Number );
}
else
{
for (int s=0;s<m_DefaultStringNums.Length;s++)
{
if ( ent.Number == m_DefaultStringNums[s] )
{
ent.Number = GetStringNumber();
break;
}
}
}
}
}