本文整理汇总了C#中WowPacketParser.Misc.Packet.ReadSByte方法的典型用法代码示例。如果您正苦于以下问题:C# Packet.ReadSByte方法的具体用法?C# Packet.ReadSByte怎么用?C# Packet.ReadSByte使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WowPacketParser.Misc.Packet
的用法示例。
在下文中一共展示了Packet.ReadSByte方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: HandleAutoStoreBagItem
public static void HandleAutoStoreBagItem(Packet packet)
{
packet.ReadSByte("SrcBag");
packet.ReadSByte("DstBag");
packet.ReadByte("SrcSlot");
packet.ReadByte("unk");
}
示例2: ReadPetSpellHistoryData
public static void ReadPetSpellHistoryData(Packet packet, params object[] idx)
{
packet.ReadInt32("CategoryID", idx);
packet.ReadInt32("RecoveryTime", idx);
packet.ReadSingle("ChargeModRate", idx);
packet.ReadSByte("ConsumedCharges", idx);
}
示例3: HandleAutoStoreBagItem
public static void HandleAutoStoreBagItem(Packet packet)
{
packet.ReadByte("Slot"); // 16
packet.ReadByte("unk36"); // 36
packet.ReadSByte("Bag"); // 17
var bits14 = (int)packet.ReadBits(2);
var hasSlot = new bool[bits14];
var hasBag = new bool[bits14];
for (var i = 0; i < bits14; i++)
{
hasBag[i] = !packet.ReadBit(); // 96
hasSlot[i] = !packet.ReadBit(); // 97
}
for (var i = 0; i < bits14; i++)
{
if (hasSlot[i])
packet.ReadByte("Slot", i);
if (hasBag[i])
packet.ReadSByte("Bag", i);
}
}
示例4: HandleAutoEquipItem
public static void HandleAutoEquipItem(Packet packet)
{
packet.ReadByte("Slot");
packet.ReadSByte("Bag");
packet.ReadToEnd();
}
示例5: HandleAutoEquipItem
public static void HandleAutoEquipItem(Packet packet)
{
packet.ReadByte("Slot");
packet.ReadSByte("Bag");
var bits14 = (int)packet.ReadBits(2);
var hasSlot = new bool[bits14];
var hasBag = new bool[bits14];
for (var i = 0; i < bits14; i++)
{
hasBag[i] = !packet.ReadBit();
hasSlot[i] = !packet.ReadBit();
}
for (var i = 0; i < bits14; i++)
{
if (hasSlot[i])
packet.ReadByte("Slot", i);
if (hasBag[i])
packet.ReadSByte("Bag", i);
}
}
示例6: HandleAutoBankItem
public static void HandleAutoBankItem(Packet packet)
{
var unk1 = new byte[4];
var unk2 = new byte[4];
packet.ReadByte("Slot");
packet.ReadSByte("Bag");
var cnt = packet.ReadBits("Count", 2);
for (var i = 0; i < cnt; i++)
{
unk1[i] = packet.ReadBit("unk1", i);
unk2[i] = packet.ReadBit("unk2", i);
}
for (var j = 0; j < cnt; j++)
{
if (unk1[j]>0)
packet.ReadByte("Byte1", j);
if (unk2[j]>0)
packet.ReadByte("Byte2", j);
}
}
示例7: HandleTradeItem434
public static void HandleTradeItem434(Packet packet)
{
packet.ReadByte("Bag Slot");
packet.ReadByte("Trade Slot");
packet.ReadSByte("Bag");
}
示例8: HandleDestroyItem
public static void HandleDestroyItem(Packet packet)
{
packet.ReadSByte("Bag");
packet.ReadByte("Slot");
packet.ReadUInt32("Count");
}
示例9: HandleUseItem2
public static void HandleUseItem2(Packet packet)
{
packet.ReadSByte("Bag");
packet.ReadByte("Slot");
packet.ReadByte("Cast Count");
packet.ReadEntryWithName<Int32>(StoreNameType.Spell, "Spell ID");
packet.ReadGuid("GUID");
packet.ReadUInt32("Glyph Index");
var castflag = packet.ReadEnum<CastFlag>("Cast Flags", TypeCode.Byte);
SpellHandler.ReadSpellCastTargets(ref packet);
if (!castflag.HasAnyFlag(CastFlag.HasTrajectory))
return;
packet.ReadSingle("Elevation");
packet.ReadSingle("Missile speed");
// Boolean if it will send MSG_MOVE_STOP
if (!packet.ReadBoolean())
return;
var opcode = packet.ReadInt32();
var remainingLength = packet.Length - packet.Position;
var bytes = packet.ReadBytes((int)remainingLength);
using (var newpacket = new Packet(bytes, opcode, packet.Time, packet.Direction, packet.Number, packet.Writer, packet.FileName))
Handler.Parse(newpacket, true);
}
示例10: HandleSwapItem
public static void HandleSwapItem(Packet packet)
{
packet.ReadSByte("Bag");
packet.ReadByte("Slot");
packet.ReadByte("Destination Bag");
packet.ReadByte("Destination Slot");
}
示例11: ReadMovementSpline
public static void ReadMovementSpline(Packet packet, Vector3 pos, params object[] indexes)
{
packet.ReadInt32E<SplineFlag434>("Flags", indexes);
packet.ReadByte("AnimTier", indexes);
packet.ReadUInt32("TierTransStartTime", indexes);
packet.ReadInt32("Elapsed", indexes);
packet.ReadUInt32("MoveTime", indexes);
packet.ReadSingle("JumpGravity", indexes);
packet.ReadUInt32("SpecialTime", indexes);
var pointsCount = packet.ReadInt32("PointsCount", indexes);
packet.ReadByte("Mode", indexes);
packet.ReadByte("VehicleExitVoluntary", indexes);
packet.ReadPackedGuid128("TransportGUID", indexes);
packet.ReadSByte("VehicleSeat", indexes);
var packedDeltasCount = packet.ReadInt32("PackedDeltasCount", indexes);
Vector3 endpos = new Vector3();
for (int i = 0; i < pointsCount; i++)
{
var spot = packet.ReadVector3();
// client always taking first point
if (i == 0)
endpos = spot;
packet.AddValue("Points", spot, indexes, i);
}
var waypoints = new Vector3[packedDeltasCount];
for (int i = 0; i < packedDeltasCount; i++)
{
var packedDeltas = packet.ReadPackedVector3();
waypoints[i].X = packedDeltas.X;
waypoints[i].Y = packedDeltas.Y;
waypoints[i].Z = packedDeltas.Z;
}
packet.ResetBitReader();
var type = packet.ReadBits("Face", 2, indexes);
var monsterSplineFilter = packet.ReadBit("HasMonsterSplineFilter", indexes);
switch (type)
{
case 1:
packet.ReadVector3("FaceSpot", indexes);
break;
case 2:
packet.ReadSingle("FaceDirection", indexes);
packet.ReadPackedGuid128("FacingGUID", indexes);
break;
case 3:
packet.ReadSingle("FaceDirection", indexes);
break;
}
if (monsterSplineFilter)
ReadMonsterSplineFilter(packet, indexes, "MonsterSplineFilter");
// Calculate mid pos
var mid = new Vector3
{
X = (pos.X + endpos.X) * 0.5f,
Y = (pos.Y + endpos.Y) * 0.5f,
Z = (pos.Z + endpos.Z) * 0.5f
};
for (var i = 0; i < packedDeltasCount; ++i)
{
var vec = new Vector3
{
X = mid.X - waypoints[i].X,
Y = mid.Y - waypoints[i].Y,
Z = mid.Z - waypoints[i].Z
};
packet.AddValue("WayPoints", vec, indexes, i);
}
}
示例12: HandlePlayerMove434
public static void HandlePlayerMove434(Packet packet)
{
var guid = new byte[8];
var transportGuid = new byte[8];
var hasFallDirection = false;
var pos = new Vector4();
var hasFallData = packet.ReadBit();
guid[3] = packet.ReadBit();
guid[6] = packet.ReadBit();
var hasMovementFlagsExtra = !packet.ReadBit();
packet.ReadBit("Has spline data");
var hasTime = !packet.ReadBit();
guid[0] = packet.ReadBit();
guid[1] = packet.ReadBit();
if (hasMovementFlagsExtra)
packet.ReadEnum<MovementFlagExtra>("Extra Movement Flags", 12);
guid[7] = packet.ReadBit();
var hasMovementFlags = !packet.ReadBit();
var hasO = !packet.ReadBit();
guid[2] = packet.ReadBit();
var hasSplineElevation = !packet.ReadBit();
packet.ReadBit();
guid[4] = packet.ReadBit();
if (hasFallData)
hasFallDirection = packet.ReadBit();
guid[5] = packet.ReadBit();
var hasTransport = packet.ReadBit();
if (hasMovementFlags)
packet.ReadEnum<MovementFlag>("Movement flags", 30);
var hasTransportTime3 = false;
var hasTransportTime2 = false;
if (hasTransport)
{
transportGuid[3] = packet.ReadBit();
hasTransportTime3 = packet.ReadBit();
transportGuid[6] = packet.ReadBit();
transportGuid[1] = packet.ReadBit();
transportGuid[7] = packet.ReadBit();
transportGuid[0] = packet.ReadBit();
transportGuid[4] = packet.ReadBit();
hasTransportTime2 = packet.ReadBit();
transportGuid[5] = packet.ReadBit();
transportGuid[2] = packet.ReadBit();
}
var hasPitch = !packet.ReadBit();
packet.ReadXORByte(guid, 5);
if (hasFallData)
{
if (hasFallDirection)
{
packet.ReadSingle("Horizontal speed");
packet.ReadSingle("Fall Cos");
packet.ReadSingle("Fall Sin");
}
packet.ReadSingle("Vertical speed");
packet.ReadUInt32("Fall time");
}
if (hasSplineElevation)
packet.ReadSingle("Spline elevation");
packet.ReadXORByte(guid, 7);
pos.Y = packet.ReadSingle();
packet.ReadXORByte(guid, 3);
if (hasTransport)
{
var tpos = new Vector4();
if (hasTransportTime3)
packet.ReadUInt32("Transport Time 3");
packet.ReadXORByte(transportGuid, 6);
packet.ReadSByte("Transport Seat");
packet.ReadXORByte(transportGuid, 5);
tpos.X = packet.ReadSingle();
packet.ReadXORByte(transportGuid, 1);
tpos.O = packet.ReadSingle();
packet.ReadXORByte(transportGuid, 2);
if (hasTransportTime2)
packet.ReadUInt32("Transport Time 2");
packet.ReadXORByte(transportGuid, 0);
tpos.Z = packet.ReadSingle();
packet.ReadXORByte(transportGuid, 7);
packet.ReadXORByte(transportGuid, 4);
packet.ReadXORByte(transportGuid, 3);
tpos.Y = packet.ReadSingle();
packet.ReadUInt32("Transport Time");
packet.WriteGuid("Transport Guid", transportGuid);
packet.WriteLine("Transport Position: {0}", tpos);
}
packet.ReadXORByte(guid, 4);
pos.X = packet.ReadSingle();
//.........这里部分代码省略.........
示例13: ReadMovementUpdateBlock434
//.........这里部分代码省略.........
{
Z = packet.ReadSingle(),
X = packet.ReadSingle(),
Y = packet.ReadSingle()
};
packet.ReadUInt32("Spline Id", index);
packet.AddValue("Spline Endpoint:", endPoint, index);
}
moveInfo.Position.Z = packet.ReadSingle();
packet.ReadXORByte(guid2, 5);
if (hasTransportData)
{
packet.ReadXORByte(transportGuid, 5);
packet.ReadXORByte(transportGuid, 7);
packet.ReadUInt32("Transport Time", index);
moveInfo.TransportOffset.O = packet.ReadSingle();
if (hasTransportTime2)
packet.ReadUInt32("Transport Time 2", index);
moveInfo.TransportOffset.Y = packet.ReadSingle();
moveInfo.TransportOffset.X = packet.ReadSingle();
packet.ReadXORByte(transportGuid, 3);
moveInfo.TransportOffset.Z = packet.ReadSingle();
packet.ReadXORByte(transportGuid, 0);
if (hasTransportTime3)
packet.ReadUInt32("Transport Time 3", index);
var seat = packet.ReadSByte("Transport Seat", index);
packet.ReadXORByte(transportGuid, 1);
packet.ReadXORByte(transportGuid, 6);
packet.ReadXORByte(transportGuid, 2);
packet.ReadXORByte(transportGuid, 4);
moveInfo.TransportGuid = new WowGuid64(BitConverter.ToUInt64(transportGuid, 0));
packet.AddValue("Transport GUID", moveInfo.TransportGuid, index);
packet.AddValue("Transport Position", moveInfo.TransportOffset, index);
if (moveInfo.TransportGuid.HasEntry() && moveInfo.TransportGuid.GetHighType() == HighGuidType.Vehicle &&
guid.HasEntry() && guid.GetHighType() == HighGuidType.Creature)
{
var vehicleAccessory = new VehicleTemplateAccessory();
vehicleAccessory.AccessoryEntry = guid.GetEntry();
vehicleAccessory.SeatId = seat;
Storage.VehicleTemplateAccessorys.Add(moveInfo.TransportGuid.GetEntry(), vehicleAccessory, packet.TimeSpan);
}
}
moveInfo.Position.X = packet.ReadSingle();
packet.ReadSingle("Pitch Speed", index);
packet.ReadXORByte(guid2, 3);
packet.ReadXORByte(guid2, 0);
packet.ReadSingle("Swim Speed", index);
moveInfo.Position.Y = packet.ReadSingle();
packet.ReadXORByte(guid2, 7);
packet.ReadXORByte(guid2, 1);
packet.ReadXORByte(guid2, 2);
moveInfo.WalkSpeed = packet.ReadSingle("Walk Speed", index) / 2.5f;
if (hasTimestamp)
packet.ReadUInt32("Time", index);
示例14: ReadMovementUpdateBlock510
//.........这里部分代码省略.........
packet.ReadUInt32("Spline Id", index);
packet.WriteLine("[{0}] Spline Endpoint: {1}", index, endPoint);
}
packet.ReadSingle("Swim Speed", index);
if (hasFallData)
{
if (hasFallDirection)
{
packet.ReadSingle("Jump Cos", index);
packet.ReadSingle("Jump Velocity", index);
packet.ReadSingle("Jump Sin", index);
}
packet.ReadSingle("Fall Start Velocity", index);
packet.ReadInt32("Time Fallen", index);
}
if (hasTransportData)
{
moveInfo.TransportOffset.Z = packet.ReadSingle();
packet.ReadXORByte(transportGuid, 4);
moveInfo.TransportOffset.X = packet.ReadSingle();
if (hasTransportTime3)
packet.ReadUInt32("Transport Time 3", index);
packet.ReadXORByte(transportGuid, 6);
packet.ReadXORByte(transportGuid, 5);
packet.ReadXORByte(transportGuid, 1);
moveInfo.TransportOffset.O = packet.ReadSingle();
moveInfo.TransportOffset.X = packet.ReadSingle();
packet.ReadSByte("Transport Seat", index);
packet.ReadXORByte(transportGuid, 7);
if (hasTransportTime2)
packet.ReadUInt32("Transport Time 2", index);
packet.ReadUInt32("Transport Time", index);
packet.ReadXORByte(transportGuid, 0);
packet.ReadXORByte(transportGuid, 2);
packet.ReadXORByte(transportGuid, 3);
moveInfo.TransportGuid = new Guid(BitConverter.ToUInt64(transportGuid, 0));
packet.WriteLine("[{0}] Transport GUID {1}", index, moveInfo.TransportGuid);
packet.WriteLine("[{0}] Transport Position: {1}", index, moveInfo.TransportOffset);
}
packet.ReadXORByte(guid2, 1);
packet.ReadSingle("FlyBack Speed", index);
moveInfo.Position.Y = packet.ReadSingle();
packet.ReadXORByte(guid2, 3);
moveInfo.Position.Z = packet.ReadSingle();
if (hasOrientation)
moveInfo.Orientation = packet.ReadSingle();
packet.ReadSingle("SwimBack Speed", index);
if (hasSplineElevation)
packet.ReadSingle("Spline Elevation", index);
packet.ReadXORByte(guid2, 0);
packet.ReadXORByte(guid2, 6);
for (var i = 0u; i < unkLoopCounter2; ++i)
packet.ReadUInt32("Unk2 UInt32", index, (int)i);
moveInfo.Position.X = packet.ReadSingle();
示例15: ReadMovementUpdateBlock504
//.........这里部分代码省略.........
{
X = packet.ReadSingle(),
Y = packet.ReadSingle(),
Z = packet.ReadSingle(),
};
packet.WriteLine("[{0}][{1}] Spline Waypoint: {2}", index, i, wp);
}
packet.ReadSingle("Spline Duration Multiplier", index);
packet.ReadUInt32("Spline Full Time", index);
packet.ReadSingle("Spline Duration Multiplier Next", index);
}
var endPoint = new Vector3();
endPoint.Z = packet.ReadSingle();
packet.ReadUInt32("Spline Id", index);
endPoint.X = packet.ReadSingle();
endPoint.Y = packet.ReadSingle();
packet.WriteLine("[{0}] Spline Endpoint: {1}", index, endPoint);
}
for (var i = 0; i < field9C; ++i)
packet.ReadUInt32();
moveInfo.WalkSpeed = packet.ReadSingle("Walk Speed", index) / 2.5f;
if (hasTransportData)
{
packet.ReadXORByte(transportGuid, 4);
packet.ReadXORByte(transportGuid, 0);
moveInfo.TransportOffset.Y = packet.ReadSingle();
moveInfo.TransportOffset.X = packet.ReadSingle();
packet.ReadSByte("Transport Seat", index);
packet.ReadXORByte(transportGuid, 7);
packet.ReadXORByte(transportGuid, 3);
if (hasTransportTime3)
packet.ReadUInt32("Transport Time 3", index);
packet.ReadXORByte(transportGuid, 6);
moveInfo.TransportOffset.O = packet.ReadSingle();
packet.ReadUInt32("Transport Time", index);
packet.ReadXORByte(transportGuid, 2);
packet.ReadXORByte(transportGuid, 1);
moveInfo.TransportOffset.Z = packet.ReadSingle();
packet.ReadXORByte(transportGuid, 5);
if (hasTransportTime2)
packet.ReadUInt32("Transport Time 2", index);
moveInfo.TransportGuid = new Guid(BitConverter.ToUInt64(transportGuid, 0));
packet.WriteLine("[{0}] Transport GUID {1}", index, moveInfo.TransportGuid);
packet.WriteLine("[{0}] Transport Position: {1}", index, moveInfo.TransportOffset);
}
packet.ReadXORByte(guid2, 2);
if (hasFallData)
{
packet.ReadInt32("Time Fallen", index);
if (hasFallDirection)
{
packet.ReadSingle("Jump Sin", index);
packet.ReadSingle("Jump Cos", index);
packet.ReadSingle("Jump Velocity", index);
}
packet.ReadSingle("Fall Start Velocity", index);