OneNightDuel/PacketLib/PlayerCommand.cs

23 lines
715 B
C#
Raw Normal View History

using LiteNetLib.Utils;
namespace PacketLib;
public struct PlayerCommand : INetSerializable {
public static PlayerCommand SWITCH_CAM(int camId) => new(){ID = 0, Args = [camId] };
public static PlayerCommand TOGGLE_MONITOR() => new(){ID = 1, Args = []};
public static PlayerCommand TOGGLE_DOOR_OFFICE(int doorId) => new(){ID = 2, Args = [doorId]};
public int ID{ get; set; }
public bool Hideable => ID < 0;
public int[] Args{ get; private set; }
public void Serialize(NetDataWriter writer) {
writer.Put(ID);
writer.PutArray(Args);
}
public void Deserialize(NetDataReader reader) {
ID = reader.GetInt();
Args = reader.GetIntArray();
}
}