本文整理汇总了C#中Framework.Network.Packets.PacketReader.ReadCString方法的典型用法代码示例。如果您正苦于以下问题:C# PacketReader.ReadCString方法的具体用法?C# PacketReader.ReadCString怎么用?C# PacketReader.ReadCString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Framework.Network.Packets.PacketReader
的用法示例。
在下文中一共展示了PacketReader.ReadCString方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ReadAddonData
public static void ReadAddonData(byte[] buffer, int size, WorldClass session)
{
// Clean possible addon data
session.Addons.Clear();
string addonName;
byte addonEnabled;
uint addonCRC, UrlStringCRC;
// Decompress received Addon Data
PacketReader addonData = new PacketReader(ZLib.ZLibDecompress(buffer, true, size), false);
// Get Addon number
int ctr, numAddons = addonData.Read<int>();
// For each addon, read data from decoded packet and store into session for later use if needed
for (ctr = 0; ctr < numAddons; ctr++)
{
addonName = addonData.ReadCString();
addonEnabled = addonData.Read<byte>();
addonCRC = addonData.Read<uint>();
UrlStringCRC = addonData.Read<uint>();
// Get the addon with same properties
var Addon = AddonMgr.GetAddon(addonName, addonEnabled, addonCRC, UrlStringCRC);
// Add if found, add default one if not.
if (Addon != null)
session.Addons.Add(Addon);
else
// Note: This can be skipped for those with no addon data.
// TODO: Test that!
session.Addons.Add(new Framework.ObjectDefines.Addon()
{
AuthType = 2,
Enabled = addonEnabled,
CRC = addonCRC,
HasPUBData = 0,
PUBData = null,
Version = 1, // Fixed value
HasUrlString = 0,
UrlString = addonName,
UrlStringCRC = UrlStringCRC
});
}
int addonEnd = addonData.Read<int>(); // Unknown
}