本文整理汇总了C#中WowPacketParser.Misc.Packet.ReadByteE方法的典型用法代码示例。如果您正苦于以下问题:C# Packet.ReadByteE方法的具体用法?C# Packet.ReadByteE怎么用?C# Packet.ReadByteE使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WowPacketParser.Misc.Packet
的用法示例。
在下文中一共展示了Packet.ReadByteE方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: HandleCalendarEventInviteAlert
public static void HandleCalendarEventInviteAlert(Packet packet)
{
// TODO: find unks
packet.ReadUInt64("EventID");
packet.ReadPackedTime("Date");
packet.ReadInt32E<CalendarFlag>("Flags");
packet.ReadByteE<CalendarEventType>("EventType");
packet.ReadInt32("TextureID");
packet.ReadPackedGuid128("EventGuildID");
packet.ReadUInt64("InviteID");
packet.ReadByteE<CalendarEventStatus>("Status");
packet.ReadByteE<CalendarModerationRank>("ModeratorStatus");
packet.ReadPackedGuid128("OwnerGUID | InvitedByGUID");
packet.ReadPackedGuid128("OwnerGUID | InvitedByGUID");
var eventNameLength = packet.ReadBits("EventNameLength", 8);
packet.ResetBitReader();
packet.ReadWoWString("EventName", eventNameLength);
}
示例2: HandleLootResponse
public static void HandleLootResponse(Packet packet)
{
packet.ReadPackedGuid128("Owner");
packet.ReadPackedGuid128("LootObj");
packet.ReadByteE<LootError>("FailureReason");
packet.ReadByteE<LootType>("AcquireReason");
packet.ReadByteE<LootMethod>("LootMethod");
packet.ReadByteE<ItemQuality>("Threshold");
packet.ReadUInt32("Coins");
var itemCount = packet.ReadUInt32("ItemCount");
var currencyCount = packet.ReadUInt32("CurrencyCount");
packet.ResetBitReader();
packet.ReadBit("Acquired");
packet.ReadBit("AELooting");
packet.ReadBit("PersonalLooting");
for (var i = 0; i < itemCount; ++i)
ReadLootItem(packet, i, "LootItem");
for (var i = 0; i < currencyCount; ++i)
V6_0_2_19033.Parsers.LootHandler.ReadCurrenciesData(packet, i, "Currencies");
}
示例3: HandleAddCalendarEvent
public static void HandleAddCalendarEvent(Packet packet)
{
packet.ReadCString("Title");
packet.ReadCString("Description");
packet.ReadByteE<CalendarEventType>("Event Type");
packet.ReadByteE<CalendarRepeatType>("Repeat Type");
packet.ReadInt32("Max Invites");
packet.ReadInt32<LFGDungeonId>("Dungeon ID");
packet.ReadPackedTime("Event Time");
packet.ReadPackedTime("Unk PackedTime");
var flags = packet.ReadInt32E<CalendarFlag>("Event Flags");
if ((flags & CalendarFlag.GuildAnnouncement) != 0)
return;
var count = packet.ReadInt32("Invite Count");
for (var i = 0; i < count; i++)
{
packet.ReadPackedGuid("Creator GUID");
packet.ReadByteE<CalendarEventStatus>("Status");
packet.ReadByteE<CalendarModerationRank>("Moderation Rank");
}
}
示例4: HandleAddCalendarEventInvite
public static void HandleAddCalendarEventInvite(Packet packet)
{
packet.ReadInt64("Event ID");
packet.ReadInt64("Invite ID");
packet.ReadCString("Name");
packet.ReadByteE<CalendarEventStatus>("Status");
packet.ReadByteE<CalendarModerationRank>("Moderation Rank");
}
示例5: HandleCalendarEventInvite
public static void HandleCalendarEventInvite(Packet packet)
{
packet.ReadPackedGuid128("InviteGUID");
packet.ReadUInt64("EventID");
packet.ReadUInt64("InviteID");
packet.ReadByte("Level");
packet.ReadByteE<CalendarEventStatus>("Status");
packet.ReadByteE<CalendarEventType>("Type");
packet.ReadPackedTime("ResponseTime");
packet.ReadBit("ClearPending");
}
示例6: HandleGuildRoster
public static void HandleGuildRoster(Packet packet)
{
packet.ReadUInt32("NumAccounts");
packet.ReadPackedTime("CreateDate");
packet.ReadUInt32("GuildFlags");
var int20 = packet.ReadUInt32("MemberDataCount");
packet.ResetBitReader();
var bits2037 = packet.ReadBits(10);
var bits9 = packet.ReadBits(11);
for (var i = 0; i < int20; ++i)
{
packet.ReadPackedGuid128("Guid", i);
packet.ReadUInt32("RankID", i);
packet.ReadUInt32<AreaId>("AreaID", i);
packet.ReadUInt32("PersonalAchievementPoints", i);
packet.ReadUInt32("GuildReputation", i);
packet.ReadSingle("LastSave", i);
for (var j = 0; j < 2; ++j)
{
packet.ReadUInt32("DbID", i, j);
packet.ReadUInt32("Rank", i, j);
packet.ReadUInt32("Step", i, j);
}
packet.ReadUInt32("VirtualRealmAddress", i);
packet.ReadByteE<GuildMemberFlag>("Status", i);
packet.ReadByte("Level", i);
packet.ReadByteE<Class>("ClassID", i);
packet.ReadByteE<Gender>("Gender", i);
packet.ResetBitReader();
var bits36 = packet.ReadBits(6);
var bits92 = packet.ReadBits(8);
var bits221 = packet.ReadBits(8);
packet.ReadBit("Authenticated", i);
packet.ReadBit("SorEligible", i);
packet.ReadWoWString("Name", bits36, i);
packet.ReadWoWString("Note", bits92, i);
packet.ReadWoWString("OfficerNote", bits221, i);
}
packet.ReadWoWString("WelcomeText", bits2037);
packet.ReadWoWString("InfoText", bits9);
}
示例7: HandleChannelSendList
public static void HandleChannelSendList(Packet packet)
{
packet.ReadByte("Type");
packet.ReadCString("Channel Name");
packet.ReadByteE<ChannelFlag>("Flags");
var count = packet.ReadInt32("Counter");
for (var i = 0; i < count; i++)
{
packet.ReadGuid("Player GUID " + i);
packet.ReadUInt32("Realm ID");
packet.ReadByteE<ChannelMemberFlag>("Player Flags " + i);
}
}
示例8: HandleFriendStatus
public static void HandleFriendStatus(Packet packet)
{
var result = packet.ReadByteE<ContactResult>("Result");
packet.ReadGuid("GUID");
switch (result)
{
case ContactResult.FriendAddedOffline:
packet.ReadCString("Note");
break;
case ContactResult.FriendAddedOnline:
{
packet.ReadCString("Note");
ReadSingleContactBlock(packet, false);
break;
}
case ContactResult.Online:
ReadSingleContactBlock(packet, false);
break;
case ContactResult.Unknown2:
packet.ReadByte("Unk byte 1");
break;
case ContactResult.Unknown3:
packet.ReadInt32("Unk int");
break;
}
}
示例9: HandleAuthResponse
public static void HandleAuthResponse(Packet packet)
{
var code = packet.ReadByteE<ResponseCode>("Auth Code");
switch (code)
{
case ResponseCode.AUTH_OK:
{
ReadAuthResponseInfo(packet);
break;
}
case ResponseCode.AUTH_WAIT_QUEUE:
{
if (packet.Length <= 6)
{
ReadQueuePositionInfo(packet);
break;
}
ReadAuthResponseInfo(packet);
ReadQueuePositionInfo(packet);
break;
}
}
}
示例10: HandleAttackerStateUpdate
public static void HandleAttackerStateUpdate(Packet packet)
{
var hitInfo = packet.ReadInt32E<SpellHitInfo>("HitInfo");
packet.ReadPackedGuid("AttackerGUID");
packet.ReadPackedGuid("TargetGUID");
packet.ReadInt32("Damage");
if (ClientVersion.AddedInVersion(ClientVersionBuild.V3_0_3_9183))
packet.ReadInt32("OverDamage");
var subDmgCount = packet.ReadByte();
for (var i = 0; i < subDmgCount; ++i)
{
packet.ReadInt32("SchoolMask", i);
packet.ReadSingle("Float Damage", i);
packet.ReadInt32("Int Damage", i);
if (ClientVersion.RemovedInVersion(ClientVersionBuild.V3_0_3_9183) ||
hitInfo.HasAnyFlag(SpellHitInfo.HITINFO_PARTIAL_ABSORB | SpellHitInfo.HITINFO_FULL_ABSORB))
packet.ReadInt32("Damage Absorbed", i);
if (ClientVersion.RemovedInVersion(ClientVersionBuild.V3_0_3_9183) ||
hitInfo.HasAnyFlag(SpellHitInfo.HITINFO_PARTIAL_RESIST | SpellHitInfo.HITINFO_FULL_RESIST))
packet.ReadInt32("Damage Resisted", i);
}
if (ClientVersion.AddedInVersion(ClientVersionBuild.V3_0_3_9183))
packet.ReadByteE<VictimStates>("VictimState");
else
packet.ReadInt32E<VictimStates>("VictimState");
packet.ReadInt32("Unk Attacker State 0");
packet.ReadInt32<SpellId>("Melee Spell ID ");
if (ClientVersion.RemovedInVersion(ClientVersionBuild.V3_0_3_9183) ||
hitInfo.HasAnyFlag(SpellHitInfo.HITINFO_BLOCK))
packet.ReadInt32("Block Amount");
if (hitInfo.HasAnyFlag(SpellHitInfo.HITINFO_RAGE_GAIN))
packet.ReadInt32("Rage Gained");
if (hitInfo.HasAnyFlag(SpellHitInfo.HITINFO_UNK0))
{
packet.ReadInt32("Unk Attacker State 3 1");
packet.ReadSingle("Unk Attacker State 3 2");
packet.ReadSingle("Unk Attacker State 3 3");
packet.ReadSingle("Unk Attacker State 3 4");
packet.ReadSingle("Unk Attacker State 3 5");
packet.ReadSingle("Unk Attacker State 3 6");
packet.ReadSingle("Unk Attacker State 3 7");
packet.ReadSingle("Unk Attacker State 3 8");
packet.ReadSingle("Unk Attacker State 3 9");
packet.ReadSingle("Unk Attacker State 3 10");
packet.ReadSingle("Unk Attacker State 3 11");
packet.ReadInt32("Unk Attacker State 3 12");
packet.ReadInt32("Unk Attacker State 3 13");
packet.ReadInt32("Unk Attacker State 3 14");
}
}
示例11: HandleCalendarEventInviteModeratorStatus
public static void HandleCalendarEventInviteModeratorStatus(Packet packet)
{
packet.ReadPackedGuid128("InviteGUID");
packet.ReadUInt64("EventID");
packet.ReadByteE<CalendarModerationRank>("Status"); // enum NC
packet.ReadBit("ClearPending");
}
示例12: HandlePetActionFeedback
public static void HandlePetActionFeedback(Packet packet)
{
var hasData = !packet.ReadBit("!hasData"); // 16
var state = packet.ReadByteE<PetFeedback>("Pet state"); // 20
if (hasData)
packet.ReadInt32<SpellId>("Spell ID"); // 16
}
示例13: HandleContactList
public static void HandleContactList(Packet packet)
{
packet.ReadInt32E<ContactListFlag>("List Flags");
var count = packet.ReadInt32("Count");
for (var i = 0; i < count; i++)
{
packet.ReadGuid("GUID");
packet.ReadInt32("Realm Id");
packet.ReadInt32("Realm Id");
var flag = packet.ReadInt32E<ContactEntryFlag>("Flags");
packet.ReadCString("Note");
if (!flag.HasAnyFlag(ContactEntryFlag.Friend))
continue;
var status = packet.ReadByteE<ContactStatus>("Status");
if (status == 0) // required any flag
continue;
packet.ReadInt32<AreaId>("Area");
packet.ReadInt32("Level");
packet.ReadInt32E<Class>("Class");
}
// still needed?
if (packet.CanRead())
CoreParsers.WardenHandler.ReadCheatCheckDecryptionBlock(packet);
}
示例14: HandleContactList
public static void HandleContactList(Packet packet)
{
packet.ReadInt32E<ContactListFlag>("List Flags");
var count = packet.ReadInt32("Count");
for (var i = 0; i < count; i++)
{
packet.ReadGuid("GUID");
packet.ReadInt32("Realm Id");
packet.ReadInt32("Realm Id");
var flag = packet.ReadInt32E<ContactEntryFlag>("Flags");
packet.ReadCString("Note");
if (!flag.HasAnyFlag(ContactEntryFlag.Friend))
continue;
var status = packet.ReadByteE<ContactStatus>("Status");
if (status == 0) // required any flag
continue;
packet.ReadInt32<AreaId>("Area");
packet.ReadInt32("Level");
packet.ReadInt32E<Class>("Class");
}
}
示例15: HandleLootMethod
public static void HandleLootMethod(Packet packet)
{
packet.ReadByte("PartyIndex");
packet.ReadByteE<LootMethod>("Method");
packet.ReadPackedGuid128("Master");
packet.ReadInt32E<ItemQuality>("Threshold");
}