本文整理汇总了C#中WowPacketParser.Misc.Packet.ReadLfgEntry方法的典型用法代码示例。如果您正苦于以下问题:C# Packet.ReadLfgEntry方法的具体用法?C# Packet.ReadLfgEntry怎么用?C# Packet.ReadLfgEntry使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WowPacketParser.Misc.Packet
的用法示例。
在下文中一共展示了Packet.ReadLfgEntry方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: HandleLfgCompletionReward
public static void HandleLfgCompletionReward(Packet packet)
{
packet.ReadLfgEntry("Random LFG Entry");
packet.ReadLfgEntry("Actual LFG Entry");
ReadLfgRewardBlock(ref packet);
}
示例2: HandleLfgCompletionReward434
public static void HandleLfgCompletionReward434(Packet packet)
{
packet.ReadLfgEntry("Random LFG Entry");
packet.ReadLfgEntry("Actual LFG Entry");
packet.ReadUInt32("Base Money");
packet.ReadUInt32("Base XP");
var numFields = packet.ReadByte("Reward Item Count");
for (var i = 0; i < numFields; i++)
{
packet.ReadInt32<ItemId>("Reward Item Or Currency Id", i);
packet.ReadInt32("Reward Item Display ID", i);
packet.ReadInt32("Reward Item Stack Count", i);
packet.ReadBool("Is Currency", i);
}
}
示例3: HandleLfgJoin
public static void HandleLfgJoin(Packet packet)
{
packet.ReadEnum<LfgRoleFlag>("Roles", TypeCode.Int32);
packet.ReadBytes(2); // always 0
var numFields = packet.ReadByte("Join Dungeon Count");
for (var i = 0; i < numFields; i++)
packet.ReadLfgEntry("Dungeon Entry", i);
packet.ReadUInt32(); // always 0 (for 1..3) 0
packet.ReadCString("Comment");
}
示例4: HandleGroupList
public static void HandleGroupList(Packet packet)
{
var grouptype = packet.ReadEnum<GroupTypeFlag>("Group Type", TypeCode.Byte);
packet.ReadByte("Sub Group");
packet.ReadEnum<GroupUpdateFlag>("Flags", TypeCode.Byte);
packet.ReadByte("Player's Role");
if (grouptype.HasAnyFlag(GroupTypeFlag.LookingForDungeon))
{
packet.ReadEnum<InstanceStatus>("Group Type Status", TypeCode.Byte);
packet.ReadLfgEntry("LFG Entry");
if (ClientVersion.AddedInVersion(ClientVersionBuild.V4_2_2_14545))
packet.ReadBoolean("Unk bool");
}
packet.ReadGuid("Group GUID");
if (ClientVersion.AddedInVersion(ClientVersionBuild.V3_3_0_10958))
packet.ReadInt32("Counter");
var numFields = packet.ReadInt32("Member Count");
for (var i = 0; i < numFields; i++)
{
packet.ReadCString("[" + i + "] Name");
packet.ReadGuid("[" + i + "] GUID");
packet.ReadEnum<GroupMemberStatusFlag>("[" + i + "] Status", TypeCode.Byte);
packet.ReadByte("[" + i + "] Sub Group");
packet.ReadEnum<GroupUpdateFlag>("[" + i + "] Update Flags", TypeCode.Byte);
if (ClientVersion.AddedInVersion(ClientVersionBuild.V3_3_0_10958))
packet.ReadEnum<LfgRoleFlag>("[" + i + "] Role", TypeCode.Byte);
}
packet.ReadGuid("Leader GUID");
if (numFields <= 0)
return;
packet.ReadEnum<LootMethod>("Loot Method", TypeCode.Byte);
packet.ReadGuid("Looter GUID");
packet.ReadEnum<ItemQuality>("Loot Threshold", TypeCode.Byte);
if (ClientVersion.AddedInVersion(ClientVersionBuild.V3_2_0_10192))
packet.ReadEnum<MapDifficulty>("Dungeon Difficulty", TypeCode.Byte);
packet.ReadEnum<MapDifficulty>("Raid Difficulty", TypeCode.Byte);
if (ClientVersion.AddedInVersion(ClientVersionBuild.V3_3_0_10958) &&
ClientVersion.RemovedInVersion(ClientVersionBuild.V4_2_2_14545)) // Removed somewhere between wotlk and cataclysm
packet.ReadByte("Unk Byte"); // Has something to do with difficulty too
}
示例5: HandleGroupList
public static void HandleGroupList(Packet packet)
{
var grouptype = packet.ReadEnum<GroupTypeFlag>("Group Type", TypeCode.Byte);
packet.ReadByte("Sub Group");
packet.ReadEnum<GroupUpdateFlag>("Flags", TypeCode.Byte);
packet.ReadByte("Player's Role");
if (grouptype.HasAnyFlag(GroupTypeFlag.LookingForDungeon))
{
packet.ReadEnum<InstanceStatus>("Group Type Status", TypeCode.Byte);
packet.ReadLfgEntry("LFG Entry");
}
packet.ReadGuid("Group GUID");
packet.ReadInt32("Counter");
var numFields = packet.ReadInt32("Member Count");
for (var i = 0; i < numFields; i++)
{
packet.ReadCString("[" + i + "] Name");
packet.ReadGuid("[" + i + "] GUID");
packet.ReadEnum<GroupMemberStatusFlag>("[" + i + "] Status", TypeCode.Byte);
packet.ReadByte("[" + i + "] Sub Group");
packet.ReadEnum<GroupUpdateFlag>("[" + i + "] Update Flags", TypeCode.Byte);
packet.ReadEnum<LfgRoleFlag>("[" + i + "] Role", TypeCode.Byte);
}
packet.ReadGuid("Leader GUID");
if (numFields <= 0)
return;
packet.ReadEnum<LootMethod>("Loot Method", TypeCode.Byte);
packet.ReadGuid("Looter GUID");
packet.ReadEnum<ItemQuality>("Loot Threshold", TypeCode.Byte);
packet.ReadEnum<MapDifficulty>("Dungeon Difficulty", TypeCode.Byte);
packet.ReadEnum<MapDifficulty>("Raid Difficulty", TypeCode.Byte);
packet.ReadByte("Unk Byte");
}
示例6: HandleLfgQueueStatusUpdate
public static void HandleLfgQueueStatusUpdate(Packet packet)
{
packet.ReadLfgEntry("LFG Entry");
packet.ReadInt32("Average Wait Time");
packet.ReadInt32("Wait Time");
packet.ReadInt32("Wait Tanks");
packet.ReadInt32("Wait Headers");
packet.ReadInt32("Wait DPS");
packet.ReadByte("Number of Tanks Needed");
packet.ReadByte("Number of Healers Needed");
packet.ReadByte("Number of Damage Dealers Needed");
packet.ReadInt32("Queued Time");
}
示例7: ReadDungeonJoinResults
public static void ReadDungeonJoinResults(ref Packet packet, params int[] values)
{
packet.ReadLfgEntry("LFG Entry", values);
packet.ReadEnum<LfgEntryCheckResult>("Entry Check Result", TypeCode.UInt32, values);
if (ClientVersion.AddedInVersion(ClientVersionBuild.V4_0_6a_13623))
{
packet.ReadInt32("needed ILvL", values);
packet.ReadInt32("player ILvL", values);
}
}
示例8: HandleLfgSearch
public static void HandleLfgSearch(Packet packet)
{
packet.ReadLfgEntry("LFG Entry");
}
示例9: HandleLfgUpdatePlayer
public static void HandleLfgUpdatePlayer(Packet packet)
{
packet.ReadEnum<LfgUpdateType>("Update Type", TypeCode.Byte);
var extraInfo = packet.ReadBoolean("Extra Info");
if (!extraInfo)
return;
packet.ReadBoolean("Queued");
packet.ReadBytes(2); // always 0
var numFields2 = packet.ReadByte("Slot Count");
for (var i = 0; i < numFields2; i++)
packet.ReadLfgEntry("LFG Entry", i);
packet.ReadCString("Comment");
}
示例10: HandleLfgProposalUpdate434
public static void HandleLfgProposalUpdate434(Packet packet)
{
packet.ReadTime("Date");
packet.ReadInt32("Bosses Killed Mask");
packet.ReadInt32("Unk UInt32 1");
packet.ReadUInt32("Unk UInt32 2");
packet.ReadLfgEntry("LFG Entry");
packet.ReadUInt32("Unk UInt32 3");
packet.ReadByteE<LfgProposalState>("State");
var guid1 = new byte[8];
var guid2 = new byte[8];
guid2[4] = packet.ReadBit();
guid1[3] = packet.ReadBit();
guid1[7] = packet.ReadBit();
guid1[0] = packet.ReadBit();
guid2[1] = packet.ReadBit();
packet.ReadBit("Silent");
guid1[4] = packet.ReadBit();
guid1[5] = packet.ReadBit();
guid2[3] = packet.ReadBit();
var count = packet.ReadBits("Response Count", 23);
guid2[7] = packet.ReadBit();
for (var i = 0; i < count; ++i)
{
var bits = new Bit[5];
for (var j = 0; j < 5; ++j)
bits[j] = packet.ReadBit();
packet.AddValue("Bits", string.Format("In Dungeon?: {0}, Same Group?: {1}, Accept: {2}, Answer: {3}, Self: {4}",
bits[0], bits[1], bits[2], bits[3], bits[4]), i); // 0 and 1 could be swapped
}
guid2[5] = packet.ReadBit();
guid1[6] = packet.ReadBit();
guid2[2] = packet.ReadBit();
guid2[6] = packet.ReadBit();
guid1[2] = packet.ReadBit();
guid1[1] = packet.ReadBit();
guid2[0] = packet.ReadBit();
packet.ReadXORByte(guid1, 5);
packet.ReadXORByte(guid2, 3);
packet.ReadXORByte(guid2, 6);
packet.ReadXORByte(guid1, 6);
packet.ReadXORByte(guid1, 0);
packet.ReadXORByte(guid2, 5);
packet.ReadXORByte(guid1, 1);
for (var i = 0; i < count; ++i)
packet.ReadInt32E<LfgRoleFlag>("Roles", i);
packet.ReadXORByte(guid2, 7);
packet.ReadXORByte(guid1, 4);
packet.ReadXORByte(guid2, 0);
packet.ReadXORByte(guid2, 1);
packet.ReadXORByte(guid1, 2);
packet.ReadXORByte(guid1, 7);
packet.ReadXORByte(guid2, 2);
packet.ReadXORByte(guid1, 3);
packet.ReadXORByte(guid2, 4);
}
示例11: HandleLfgRoleCheck
public static void HandleLfgRoleCheck(Packet packet)
{
packet.ReadEnum<LfgRoleCheckStatus>("Role Check Status", TypeCode.Int32);
packet.ReadBoolean("Is Beginning");
var numFields = packet.ReadByte("Entry Count");
for (var i = 0; i < numFields; i++)
packet.ReadLfgEntry("LFG Entry", i);
var numFields2 = packet.ReadByte("Player Count");
for (var i = 0; i < numFields2; i++)
{
packet.ReadGuid("GUID", i);
packet.ReadBoolean("Ready", i);
packet.ReadEnum<LfgRoleFlag>("Roles", TypeCode.Int32, i);
packet.ReadByte("Level", i);
}
}
示例12: HandLFGRoleCheckUpdate
public static void HandLFGRoleCheckUpdate(Packet packet)
{
var guid = new byte[8];
packet.ReadByte("unk65"); // 65
packet.ReadByteE<LfgRoleCheckStatus>("Role Check Status"); // 16
var count36 = packet.ReadBits("Member count", 21); // 36
var guid40 = new byte[count36][];
for (var i = 0; i < count36; i++)
{
packet.ReadBit("Choosed", i); // 48
guid40[i] = packet.StartBitStream(3, 0, 5, 2, 7, 1, 4, 6);
}
guid[3] = packet.ReadBit();
guid[5] = packet.ReadBit();
var count20 = packet.ReadBits("Entry count", 22);
guid[0] = packet.ReadBit();
guid[7] = packet.ReadBit();
guid[6] = packet.ReadBit();
guid[1] = packet.ReadBit();
guid[4] = packet.ReadBit();
guid[2] = packet.ReadBit();
var unk64 = packet.ReadBit("Is Beginning"); // 64
packet.ParseBitStream(guid, 0);
for (var i = 0; i < count36; i++)
{
packet.ReadByte("Level", i); // 56
packet.ParseBitStream(guid40[i], 3, 6);
packet.ReadInt32E<LfgRoleFlag>("Roles", i); // 88
packet.ParseBitStream(guid40[i], 2, 4, 0, 1, 5, 7);
packet.WriteGuid("Player", guid40[i]);
}
packet.ParseBitStream(guid, 1, 7, 6, 4, 3, 2, 5);
packet.WriteGuid("Guid", guid);
for (var i = 0; i < count20; i++)
packet.ReadLfgEntry("LFG Entry", i); // 24
}
示例13: HandleLfgPlayerLockInfoResponse
public static void HandleLfgPlayerLockInfoResponse(Packet packet)
{
var numFields = packet.ReadByte("Random Dungeon Count");
for (var i = 0; i < numFields; i++)
{
packet.ReadLfgEntry("Random Dungeon Entry", i);
ReadLfgRewardBlock(ref packet);
}
ReadPlayerLockedDungeons(ref packet, -1);
}
示例14: ReadDungeonJoinResults
public static void ReadDungeonJoinResults(ref Packet packet)
{
packet.ReadLfgEntry("LFG Entry");
packet.ReadEnum<LfgEntryCheckResult>("Entry Check Result", TypeCode.Int32);
}
示例15: HandleLfgJoin434
public static void HandleLfgJoin434(Packet packet)
{
packet.ReadInt32E<LfgRoleFlag>("Roles");
for (var i = 0; i < 3; i++)
packet.ReadInt32("Unk Int32", i);
var length = packet.ReadBits(9);
var count = packet.ReadBits("Join Dungeon Count", 24);
packet.ReadWoWString("Comment", length);
for (var i = 0; i < count; i++)
packet.ReadLfgEntry("Dungeon Entry", i);
}