2022-10-23 19:02:39 +08:00
|
|
|
|
using System;
|
|
|
|
|
using GTA;
|
|
|
|
|
using Lidgren.Network;
|
2022-10-05 15:53:57 +08:00
|
|
|
|
using RageCoop.Core.Scripting;
|
2022-10-23 19:02:39 +08:00
|
|
|
|
|
2022-06-19 11:12:20 +08:00
|
|
|
|
namespace RageCoop.Core
|
|
|
|
|
{
|
2022-07-01 14:39:43 +08:00
|
|
|
|
internal partial class Packets
|
2022-06-19 11:12:20 +08:00
|
|
|
|
{
|
2022-07-01 14:39:43 +08:00
|
|
|
|
internal class CustomEvent : Packet
|
2022-06-19 11:12:20 +08:00
|
|
|
|
{
|
2022-10-05 15:53:57 +08:00
|
|
|
|
public CustomEventFlags Flags;
|
2022-10-23 19:02:39 +08:00
|
|
|
|
|
2022-10-05 15:53:57 +08:00
|
|
|
|
public CustomEvent(CustomEventFlags flags = CustomEventFlags.None)
|
2022-07-02 17:53:35 +08:00
|
|
|
|
{
|
2022-10-05 15:53:57 +08:00
|
|
|
|
Flags = flags;
|
2022-07-02 17:53:35 +08:00
|
|
|
|
}
|
2022-10-23 19:02:39 +08:00
|
|
|
|
|
|
|
|
|
public override PacketType Type => PacketType.CustomEvent;
|
2022-06-19 11:12:20 +08:00
|
|
|
|
public int Hash { get; set; }
|
2023-02-01 21:21:07 +08:00
|
|
|
|
public byte[] Payload;
|
2022-06-19 11:12:20 +08:00
|
|
|
|
|
2022-09-08 12:37:06 -07:00
|
|
|
|
protected override void Serialize(NetOutgoingMessage m)
|
2022-06-19 11:12:20 +08:00
|
|
|
|
{
|
2022-10-05 15:53:57 +08:00
|
|
|
|
m.Write((byte)Flags);
|
2022-09-08 12:37:06 -07:00
|
|
|
|
m.Write(Hash);
|
2023-02-01 21:21:07 +08:00
|
|
|
|
m.Write(Payload);
|
2022-06-19 11:12:20 +08:00
|
|
|
|
}
|
|
|
|
|
|
2023-02-01 21:21:07 +08:00
|
|
|
|
public unsafe override void Deserialize(NetIncomingMessage m)
|
2022-06-19 11:12:20 +08:00
|
|
|
|
{
|
2022-10-05 15:53:57 +08:00
|
|
|
|
Flags = (CustomEventFlags)m.ReadByte();
|
2022-09-08 12:37:06 -07:00
|
|
|
|
Hash = m.ReadInt32();
|
2023-02-01 21:21:07 +08:00
|
|
|
|
Payload = m.ReadBytes(m.LengthBytes - m.PositionInBytes);
|
2022-06-19 11:12:20 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2022-10-23 19:02:39 +08:00
|
|
|
|
}
|