2026-02-14 14:35:29 +01:00
|
|
|
using GlobalClassLib;
|
2025-12-19 17:54:50 +01:00
|
|
|
using LiteNetLib.Utils;
|
|
|
|
|
|
|
|
|
|
namespace PacketLib;
|
|
|
|
|
|
|
|
|
|
public struct PlayerCommand : INetSerializable {
|
2026-01-29 19:37:40 +01:00
|
|
|
public static PlayerCommand SWITCH_CAM(int idx, int idy) => new(){ID = 0, Args = [idx, idy] };
|
2025-12-19 17:54:50 +01:00
|
|
|
public static PlayerCommand TOGGLE_MONITOR() => new(){ID = 1, Args = []};
|
2026-02-14 14:35:29 +01:00
|
|
|
public static PlayerCommand TOGGLE_DOOR_OFFICE(Direction direction) => new(){ID = 2, Args = [(int)direction]};
|
|
|
|
|
public static PlayerCommand TOGGLE_DOOR_REMOTE(int remoteDoorId) => new(){ID = 3, Args = [remoteDoorId]};
|
2025-12-19 17:54:50 +01:00
|
|
|
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();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|