quakeball/Assets/Scripts/Networking/Packets/PlayerUpdatePckt.cs

82 lines
2.3 KiB
C#
Raw Normal View History

using UnityEngine;
using NeonTea.Quakeball.TeaNet.Packets;
namespace NeonTea.Quakeball.Networking.Packets {
public class PlayerUpdatePckt : Packet {
2020-08-07 05:24:46 +02:00
public ulong PlayerId;
public Vector3 MoveDirection;
public byte MoveStyle;
public float Pitch;
public float Yaw;
public PlayerUpdatePckt() { }
2020-08-07 22:09:31 +02:00
public PlayerUpdatePckt(Vector3 moveDirection, byte moveStyle, float pitch, float yaw, ulong id = 0) {
MoveDirection = moveDirection;
MoveStyle = moveStyle;
Pitch = pitch;
Yaw = yaw;
PlayerId = id;
}
public override void Read(ByteBuffer buffer) {
2020-08-07 05:24:46 +02:00
PlayerId = buffer.ReadULong();
2020-08-07 23:47:03 +02:00
MoveDirection = buffer.ReadVector3();
2020-08-07 05:24:46 +02:00
MoveStyle = buffer.Read();
Pitch = buffer.ReadFloat();
Yaw = buffer.ReadFloat();
}
public override void Write(ByteBuffer buffer) {
2020-08-07 05:24:46 +02:00
buffer.Write(PlayerId);
2020-08-07 23:47:03 +02:00
buffer.Write(MoveDirection);
2020-08-07 05:24:46 +02:00
buffer.Write(MoveStyle);
buffer.Write(Pitch);
buffer.Write(Yaw);
}
}
2020-08-07 22:09:31 +02:00
public class PlayerJumpPckt : Packet {
public ulong PlayerId;
public PlayerJumpPckt() { }
public PlayerJumpPckt(ulong id) { PlayerId = id; }
public override void Read(ByteBuffer buffer) {
PlayerId = buffer.ReadULong();
}
public override void Write(ByteBuffer buffer) {
buffer.Write(PlayerId);
}
}
2020-08-07 23:47:03 +02:00
public class PlayerSyncPacket : Packet {
public ulong PlayerId;
public Vector3 Location;
public Vector3 GroundVelocity;
2020-08-07 23:59:51 +02:00
public PlayerSyncPacket() { }
public PlayerSyncPacket(ulong id, Vector3 location, Vector3 groundVelocity) {
PlayerId = id;
Location = location;
GroundVelocity = groundVelocity;
}
2020-08-07 23:47:03 +02:00
public override void Read(ByteBuffer buffer) {
PlayerId = buffer.ReadULong();
Location = buffer.ReadVector3();
GroundVelocity = buffer.ReadVector3();
}
public override void Write(ByteBuffer buffer) {
buffer.ReadULong();
buffer.Write(Location);
buffer.Write(GroundVelocity);
}
}
}