73 lines
1.8 KiB
C#
Raw Normal View History

2022-05-22 15:55:26 +08:00
using System;
using System.Collections.Generic;
using System.Text;
using GTA.Math;
2022-05-22 15:55:26 +08:00
using Lidgren.Network;
namespace RageCoop.Core
{
2022-07-01 14:39:43 +08:00
internal partial class Packets
2022-05-22 15:55:26 +08:00
{
2022-07-01 14:39:43 +08:00
internal class BulletShot : Packet
2022-05-22 15:55:26 +08:00
{
public int OwnerID { get; set; }
public uint WeaponHash { get; set; }
public Vector3 StartPosition { get; set; }
public Vector3 EndPosition { get; set; }
2022-05-22 15:55:26 +08:00
public override void Pack(NetOutgoingMessage message)
{
#region PacketToNetOutGoingMessage
2022-07-01 12:22:31 +08:00
message.Write((byte)PacketType.BulletShot);
2022-05-22 15:55:26 +08:00
List<byte> byteArray = new List<byte>();
// Write OwnerID
byteArray.AddRange(BitConverter.GetBytes(OwnerID));
// Write weapon hash
byteArray.AddRange(BitConverter.GetBytes(WeaponHash));
// Write StartPosition
byteArray.AddVector3(StartPosition);
2022-05-22 15:55:26 +08:00
// Write EndPosition
byteArray.AddVector3(EndPosition);
2022-05-22 15:55:26 +08:00
byte[] result = byteArray.ToArray();
message.Write(result.Length);
message.Write(result);
#endregion
}
public override void Unpack(byte[] array)
{
#region NetIncomingMessageToPacket
BitReader reader = new BitReader(array);
// Read OwnerID
OwnerID=reader.ReadInt();
// Read WeponHash
WeaponHash=reader.ReadUInt();
// Read StartPosition
StartPosition=reader.ReadVector3();
2022-05-22 15:55:26 +08:00
// Read EndPosition
EndPosition=reader.ReadVector3();
2022-05-22 15:55:26 +08:00
#endregion
}
}
}
}