Files
RAGECOOP-V/Core/Packets/CustomEvent.cs

38 lines
1023 B
C#
Raw Normal View History

2022-10-23 19:02:39 +08:00
using System;
using GTA;
using Lidgren.Network;
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
{
public CustomEventFlags Flags;
2022-10-23 19:02:39 +08:00
public CustomEvent(CustomEventFlags flags = CustomEventFlags.None)
{
Flags = flags;
}
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; }
public byte[] Payload;
2022-06-19 11:12:20 +08:00
protected override void Serialize(NetOutgoingMessage m)
2022-06-19 11:12:20 +08:00
{
m.Write((byte)Flags);
m.Write(Hash);
m.Write(Payload);
2022-06-19 11:12:20 +08:00
}
public unsafe override void Deserialize(NetIncomingMessage m)
2022-06-19 11:12:20 +08:00
{
Flags = (CustomEventFlags)m.ReadByte();
Hash = m.ReadInt32();
Payload = m.ReadBytes(m.LengthBytes - m.PositionInBytes);
2022-06-19 11:12:20 +08:00
}
}
}
2022-10-23 19:02:39 +08:00
}