31 lines
948 B
C#
31 lines
948 B
C#
|
|
||
|
using NeonTea.Quakeball.TeaNet.Packets;
|
||
|
|
||
|
namespace NeonTea.Quakeball.Networking.Packets {
|
||
|
public class PingPckt : Packet {
|
||
|
|
||
|
public byte Identifier;
|
||
|
public bool ServerReceived = false;
|
||
|
public bool ClientReceived = false;
|
||
|
|
||
|
public PingPckt() { }
|
||
|
public PingPckt(byte identifier) {
|
||
|
Identifier = identifier;
|
||
|
}
|
||
|
|
||
|
public override void Read(ByteBuffer buffer) {
|
||
|
Identifier = buffer.Read();
|
||
|
byte result = buffer.Read();
|
||
|
ServerReceived = (result & 1) == 1;
|
||
|
ClientReceived = (result & 2) == 1;
|
||
|
}
|
||
|
|
||
|
public override void Write(ByteBuffer buffer) {
|
||
|
buffer.Write(Identifier);
|
||
|
byte serverFlag = ServerReceived ? (byte)1 : (byte)0;
|
||
|
byte clientFlag = ClientReceived ? (byte)2 : (byte)0;
|
||
|
byte total = (byte)(serverFlag | clientFlag);
|
||
|
buffer.Write(total);
|
||
|
}
|
||
|
}
|
||
|
}
|