本文整理汇总了C#中WowPacketParser.Misc.Packet.ReadEntry方法的典型用法代码示例。如果您正苦于以下问题:C# Packet.ReadEntry方法的具体用法?C# Packet.ReadEntry怎么用?C# Packet.ReadEntry使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WowPacketParser.Misc.Packet
的用法示例。
在下文中一共展示了Packet.ReadEntry方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: HandleClientEnterWorld
public static void HandleClientEnterWorld(Packet packet)
{
var mapId = packet.ReadEntry<Int32>(StoreNameType.Map, "Map");
packet.ReadBit("Loading");
packet.AddSniffData(StoreNameType.Map, mapId, "LOAD_SCREEN");
}
示例2: HandleCorpseQueryResponse
public static void HandleCorpseQueryResponse(Packet packet)
{
var pos = new Vector3();
var guid = new byte[8];
guid[4] = packet.ReadBit();
guid[2] = packet.ReadBit();
guid[5] = packet.ReadBit();
guid[3] = packet.ReadBit();
guid[1] = packet.ReadBit();
guid[6] = packet.ReadBit();
guid[0] = packet.ReadBit();
packet.ReadBit("Corpse Found");
guid[7] = packet.ReadBit();
packet.ReadXORByte(guid, 3);
packet.ReadXORByte(guid, 1);
packet.ReadXORByte(guid, 2);
packet.ReadEntry<Int32>(StoreNameType.Map, "Map ID");
pos.X = packet.ReadSingle();
packet.ReadXORByte(guid, 6);
packet.ReadXORByte(guid, 4);
packet.ReadXORByte(guid, 5);
packet.ReadEntry<Int32>(StoreNameType.Map, "Corpse Map ID");
packet.ReadXORByte(guid, 7);
pos.Z = packet.ReadSingle();
packet.ReadXORByte(guid, 0);
pos.Y = packet.ReadSingle();
packet.AddValue("Position", pos);
packet.WriteGuid("Corpse Low GUID", guid);
}
示例3: HandleBindPointUpdate
public static void HandleBindPointUpdate(Packet packet)
{
packet.ReadSingle("Position Z");
packet.ReadSingle("Position Y");
packet.ReadEntry<Int32>(StoreNameType.Map, "Map Id");
packet.ReadEntry<Int32>(StoreNameType.Zone, "Zone Id");
packet.ReadSingle("Position X");
}
示例4: HandleInitWorldStates
public static void HandleInitWorldStates(Packet packet)
{
packet.ReadEntry<Int32>(StoreNameType.Map, "Map ID");
packet.ReadEntry<Int32>(StoreNameType.Zone, "Zone Id");
CoreParsers.WorldStateHandler.CurrentAreaId = packet.ReadEntry<Int32>(StoreNameType.Area, "Area Id");
var numFields = packet.ReadBits("Field Count", 21);
for (var i = 0; i < numFields; i++)
CoreParsers.WorldStateHandler.ReadWorldStateBlock(ref packet);
}
示例5: HandleInitWorldStates
public static void HandleInitWorldStates(Packet packet)
{
packet.ReadEntry<Int32>(StoreNameType.Map, "Map ID");
packet.ReadEntry<Int32>(StoreNameType.Zone, "Zone Id");
CurrentAreaId = packet.ReadEntry<Int32>(StoreNameType.Area, "Area Id");
var numFields = packet.ReadInt16("Field Count");
for (var i = 0; i < numFields; i++)
ReadWorldStateBlock(ref packet, i);
}
示例6: HandleGameObjectQueryResponse
public static void HandleGameObjectQueryResponse(Packet packet)
{
GameObjectTemplate gameObject = new GameObjectTemplate();
int unk1 = packet.ReadInt32("Unk1 UInt32");
if (unk1 == 0)
{
packet.ReadEntry("Entry");
packet.ReadByte("Unk1 Byte");
return;
}
gameObject.Type = packet.ReadInt32E<GameObjectType>("Type");
gameObject.DisplayID = packet.ReadUInt32("Display ID");
var name = new string[4];
for (int i = 0; i < 4; i++)
name[i] = packet.ReadCString("Name", i);
gameObject.Name = name[0];
gameObject.IconName = packet.ReadCString("Icon Name");
gameObject.CastCaption = packet.ReadCString("Cast Caption");
gameObject.UnkString = packet.ReadCString("Unk String");
gameObject.Data = new int?[32];
for (int i = 0; i < gameObject.Data.Length; i++)
gameObject.Data[i] = packet.ReadInt32("Data", i);
gameObject.Size = packet.ReadSingle("Size");
gameObject.QuestItems = new uint?[packet.ReadByte("QuestItems Length")]; // correct?
for (int i = 0; i < gameObject.QuestItems.Length; i++)
gameObject.QuestItems[i] = (uint)packet.ReadInt32<ItemId>("Quest Item", i);
packet.ReadUInt32E<ClientType>("Expansion");
var entry = packet.ReadEntry("Entry");
if (entry.Value) // entry is masked
return;
gameObject.Entry = (uint)entry.Key;
packet.ReadByte("Unk Byte");
Storage.GameObjectTemplates.Add(gameObject, packet.TimeSpan);
ObjectName objectName = new ObjectName
{
ObjectType = ObjectType.GameObject,
ID = entry.Key,
Name = gameObject.Name
};
Storage.ObjectNames.Add(objectName, packet.TimeSpan);
}
示例7: HandleBindPointUpdate
public static void HandleBindPointUpdate(Packet packet)
{
var pos = new Vector3();
pos.Y = packet.ReadSingle();
pos.X = packet.ReadSingle();
pos.Z = packet.ReadSingle();
packet.ReadEntry<Int32>(StoreNameType.Area, "Area Id");
CoreParsers.MovementHandler.CurrentMapId = (uint)packet.ReadEntry<Int32>(StoreNameType.Map, "Map");
packet.AddValue("Position", pos);
}
示例8: HandleGameObjectQueryResponse
public static void HandleGameObjectQueryResponse(Packet packet)
{
var gameObject = new GameObjectTemplate();
packet.ReadByte("Unk1 Byte");
var entry = packet.ReadEntry("Entry");
if (entry.Value) // entry is masked
return;
var unk1 = packet.ReadInt32("Unk1 UInt32");
if (unk1 == 0)
{
//packet.ReadByte("Unk1 Byte");
return;
}
gameObject.Type = packet.ReadEnum<GameObjectType>("Type", TypeCode.Int32);
gameObject.DisplayId = packet.ReadUInt32("Display ID");
var name = new string[4];
for (var i = 0; i < 4; i++)
name[i] = packet.ReadCString("Name", i);
gameObject.Name = name[0];
gameObject.IconName = packet.ReadCString("Icon Name");
gameObject.CastCaption = packet.ReadCString("Cast Caption");
gameObject.UnkString = packet.ReadCString("Unk String");
gameObject.Data = new int[32];
for (var i = 0; i < gameObject.Data.Length; i++)
gameObject.Data[i] = packet.ReadInt32("Data", i);
gameObject.Size = packet.ReadSingle("Size");
gameObject.QuestItems = new uint[packet.ReadByte("QuestItems Length")];
for (var i = 0; i < gameObject.QuestItems.Length; i++)
gameObject.QuestItems[i] = (uint)packet.ReadEntry<Int32>(StoreNameType.Item, "Quest Item", i);
packet.ReadEnum<ClientType>("Expansion", TypeCode.UInt32);
Storage.GameObjectTemplates.Add((uint)entry.Key, gameObject, packet.TimeSpan);
var objectName = new ObjectName
{
ObjectType = ObjectType.GameObject,
Name = gameObject.Name,
};
Storage.ObjectNames.Add((uint)entry.Key, objectName, packet.TimeSpan);
}
示例9: HandleInitWorldStates
public static void HandleInitWorldStates(Packet packet)
{
packet.ReadEntry<Int32>(StoreNameType.Map, "Map ID");
CoreParsers.WorldStateHandler.CurrentAreaId = packet.ReadEntry<Int32>(StoreNameType.Area, "Area Id");
packet.ReadEntry<Int32>(StoreNameType.Zone, "Zone Id");
var numFields = packet.ReadBits("Field Count", 21);
for (var i = 0; i < numFields; i++)
{
var val = packet.ReadInt32();
var field = packet.ReadInt32();
packet.AddValue("Field", field + " - Value: " + val, i);
}
}
示例10: HandleInitWorldStates
public static void HandleInitWorldStates(Packet packet)
{
packet.ReadEntry<Int32>(StoreNameType.Map, "Map ID");
packet.ReadEntry<Int32>(StoreNameType.Zone, "Zone Id");
CurrentAreaId = packet.ReadEntry<Int32>(StoreNameType.Area, "Area Id");
var numFields = packet.ReadInt16("Field Count");
//packet.ReadByte("UnkB");
/*for (var i = 0; i < numFields; i++)
{
var val = packet.ReadByte();
packet.WriteLine("Field: {0} - Value: {1}", i, val);
}*/
packet.ReadToEnd();
}
示例11: HandleCorpseQuery
public static void HandleCorpseQuery(Packet packet)
{
if (packet.Direction == Direction.ClientToServer)
return;
if (!packet.ReadBoolean("Corpse Found"))
return;
packet.ReadEntry<Int32>(StoreNameType.Map, "Map ID");
packet.ReadVector3("Corpse Position");
packet.ReadEntry<Int32>(StoreNameType.Map, "Corpse Map ID");
if (ClientVersion.AddedInVersion(ClientVersionBuild.V3_2_2_10482))
packet.ReadInt32("Corpse Low GUID");
}
示例12: HandleQuestgiverAcceptQuest
public static void HandleQuestgiverAcceptQuest(Packet packet)
{
var guid = new byte[8];
packet.ReadEntry<UInt32>(StoreNameType.Quest, "Quest ID");
guid[3] = packet.ReadBit();
guid[2] = packet.ReadBit();
guid[7] = packet.ReadBit();
packet.ReadBit("bit18");
guid[5] = packet.ReadBit();
guid[0] = packet.ReadBit();
guid[6] = packet.ReadBit();
guid[1] = packet.ReadBit();
guid[4] = packet.ReadBit();
packet.ReadXORByte(guid, 3);
packet.ReadXORByte(guid, 4);
packet.ReadXORByte(guid, 7);
packet.ReadXORByte(guid, 2);
packet.ReadXORByte(guid, 5);
packet.ReadXORByte(guid, 1);
packet.ReadXORByte(guid, 6);
packet.ReadXORByte(guid, 0);
packet.WriteGuid("Guid", guid);
}
示例13: HandlePetActionFeedback
public static void HandlePetActionFeedback(Packet packet)
{
var state = packet.ReadEnum<PetFeedback>("Pet state", TypeCode.Byte);
switch (state)
{
case PetFeedback.NothingToAttack:
if (ClientVersion.AddedInVersion(ClientType.Cataclysm) || packet.CanRead())
packet.ReadEntry<Int32>(StoreNameType.Spell, "Spell ID");
break;
case PetFeedback.CantAttackTarget:
if (ClientVersion.AddedInVersion(ClientType.Cataclysm))
packet.ReadEntry<Int32>(StoreNameType.Spell, "Spell ID"); // sub_8ADA60 2nd parameter is SpellID, check sub_8B22C0
break;
}
}
示例14: HandleAuctionListBidderResult
public static void HandleAuctionListBidderResult(Packet packet)
{
var count = packet.ReadUInt32("Count");
for (var i = 0; i < count; ++i)
{
packet.ReadUInt32("Auction Id", i);
packet.ReadEntry<UInt32>(StoreNameType.Item, "Item Entry", i);
int enchantmentCount = ClientVersion.AddedInVersion(ClientVersionBuild.V4_3_0_15005) ? 10 : ClientVersion.AddedInVersion(ClientVersionBuild.V4_2_2_14545) ? 9 : ClientVersion.AddedInVersion(ClientType.WrathOfTheLichKing) ? 7 : 6;
for (var j = 0; j < enchantmentCount; ++j)
{
packet.ReadUInt32("Item Enchantment ID", i, j);
packet.ReadUInt32("Item Enchantment Duration", i, j);
packet.ReadUInt32("Item Enchantment Charges", i, j);
}
packet.ReadInt32("Item Random Property ID", i);
packet.ReadUInt32("Item Suffix", i);
packet.ReadUInt32("Item Count", i);
packet.ReadInt32("Item Spell Charges", i);
//packet.ReadEnum<ItemProtoFlags>("Item Flags", TypeCode.UInt32, i);
packet.ReadUInt32("Unk UInt32 1", i);
packet.ReadGuid("Owner", i);
packet.ReadValue("Start Bid", _auctionSize, i);
packet.ReadValue("Out Bid", _auctionSize, i);
packet.ReadValue("Buyout ", _auctionSize, i);
packet.ReadUInt32("Time Left", i);
packet.ReadGuid("Bidder", i);
packet.ReadValue("Bid", _auctionSize, i);
}
packet.ReadUInt32("Total item count");
packet.ReadUInt32("Desired delay time");
}
示例15: HandleAddCalendarEvent
public static void HandleAddCalendarEvent(Packet packet)
{
packet.ReadCString("Title");
packet.ReadCString("Description");
packet.ReadEnum<CalendarEventType>("Event Type", TypeCode.Byte);
packet.ReadEnum<CalendarRepeatType>("Repeat Type", TypeCode.Byte);
packet.ReadInt32("Max Invites");
packet.ReadEntry<Int32>(StoreNameType.LFGDungeon, "Dungeon ID");
packet.ReadPackedTime("Event Time");
packet.ReadPackedTime("Unk PackedTime");
var flags = packet.ReadEnum<CalendarFlag>("Event Flags", TypeCode.Int32);
if ((flags & CalendarFlag.GuildAnnouncement) != 0)
return;
var count = packet.ReadInt32("Invite Count");
for (var i = 0; i < count; i++)
{
packet.ReadPackedGuid("Creator GUID");
packet.ReadEnum<CalendarEventStatus>("Status", TypeCode.Byte);
packet.ReadEnum<CalendarModerationRank>("Moderation Rank", TypeCode.Byte);
}
}