OneNightDuel/PacketLib/PlayerState.cs

46 lines
1.1 KiB
C#
Raw Normal View History

using LiteNetLib.Utils;
namespace PacketLib;
public struct PlayerState(int pid, int camera, bool[] doorStates, int power, bool poweredOut) : INetSerializable {
public int Pid = pid;
public int Camera = camera;
public bool MonitorUp;
public int OfficeTileId;
public bool[] DoorStates = doorStates;
public int[] NeighbouringTiles = []; // the indexes should correspond in both arrays
public int Power = power;
public bool PoweredOut = poweredOut;
public void Serialize(NetDataWriter writer) {
writer.Put(Pid);
writer.Put(Camera);
writer.Put(MonitorUp);
writer.PutArray(DoorStates);
writer.Put(OfficeTileId);
writer.PutArray(NeighbouringTiles);
writer.Put(Power);
writer.Put(PoweredOut);
}
public void Deserialize(NetDataReader reader) {
Pid = reader.GetInt();
Camera = reader.GetInt();
MonitorUp = reader.GetBool();
DoorStates = reader.GetBoolArray();
OfficeTileId = reader.GetInt();
NeighbouringTiles = reader.GetIntArray();
Power = reader.GetInt();
PoweredOut = reader.GetBool();
}
}