quantum-space-buddies/QuantumUNET/Messages/QSBObjectSpawnMessage.cs

36 lines
854 B
C#
Raw Normal View History

2020-12-15 16:37:52 +00:00
using QuantumUNET.Transport;
using UnityEngine;
2020-12-16 08:45:58 +00:00
using UnityEngine.Networking;
2020-12-02 12:42:26 +00:00
2020-12-07 21:19:16 +00:00
namespace QuantumUNET.Messages
2020-12-02 12:42:26 +00:00
{
2020-12-04 09:23:27 +00:00
internal class QSBObjectSpawnMessage : QSBMessageBase
2020-12-02 12:42:26 +00:00
{
2020-12-15 09:56:03 +00:00
public QSBNetworkInstanceId NetId;
2020-12-16 08:45:58 +00:00
public NetworkHash128 assetId;
2020-12-03 11:56:32 +00:00
public Vector3 Position;
public byte[] Payload;
public Quaternion Rotation;
2020-12-16 08:03:04 +00:00
public override void Serialize(QSBNetworkWriter writer)
{
writer.Write(NetId);
writer.Write(assetId);
writer.Write(Position);
writer.WriteBytesFull(Payload);
writer.Write(Rotation);
}
2020-12-04 09:23:27 +00:00
public override void Deserialize(QSBNetworkReader reader)
2020-12-02 12:42:26 +00:00
{
2020-12-03 11:56:32 +00:00
NetId = reader.ReadNetworkId();
2020-12-02 12:42:26 +00:00
assetId = reader.ReadNetworkHash128();
2020-12-03 11:56:32 +00:00
Position = reader.ReadVector3();
Payload = reader.ReadBytesAndSize();
if (reader.Length - reader.Position >= 16U)
2020-12-02 12:42:26 +00:00
{
2020-12-03 11:56:32 +00:00
Rotation = reader.ReadQuaternion();
2020-12-02 12:42:26 +00:00
}
}
}
2020-12-03 08:28:05 +00:00
}