mirror of
https://github.com/misternebula/quantum-space-buddies.git
synced 2025-02-23 06:40:56 +00:00
59 lines
1.3 KiB
C#
59 lines
1.3 KiB
C#
using QSB.Messaging;
|
|
using QSB.Utility;
|
|
using QuantumUNET.Transport;
|
|
using System;
|
|
|
|
namespace QSB.SaveSync.Events
|
|
{
|
|
internal class GameStateMessage : PlayerMessage
|
|
{
|
|
public bool InSolarSystem { get; set; }
|
|
public bool InEye { get; set; }
|
|
public int LoopCount { get; set; }
|
|
public bool[] KnownFrequencies { get; set; }
|
|
|
|
public override void Deserialize(QNetworkReader reader)
|
|
{
|
|
base.Deserialize(reader);
|
|
// in solarsystem
|
|
InSolarSystem = reader.ReadBoolean();
|
|
|
|
// in eye
|
|
InEye = reader.ReadBoolean();
|
|
|
|
// Loop count
|
|
LoopCount = reader.ReadInt32();
|
|
|
|
// Known Frequencies
|
|
var frequenciesLength = reader.ReadInt32();
|
|
var knownFrequencies = KnownFrequencies;
|
|
Array.Resize(ref knownFrequencies, frequenciesLength);
|
|
KnownFrequencies = knownFrequencies;
|
|
for (var i = 0; i < frequenciesLength; i++)
|
|
{
|
|
KnownFrequencies[i] = reader.ReadBoolean();
|
|
}
|
|
}
|
|
|
|
public override void Serialize(QNetworkWriter writer)
|
|
{
|
|
base.Serialize(writer);
|
|
// in solarsystem
|
|
writer.Write(InSolarSystem);
|
|
|
|
// in eye
|
|
writer.Write(InEye);
|
|
|
|
// Loop count
|
|
writer.Write(LoopCount);
|
|
|
|
// Known frequencies
|
|
writer.Write(KnownFrequencies.Length);
|
|
foreach (var item in KnownFrequencies)
|
|
{
|
|
writer.Write(item);
|
|
}
|
|
}
|
|
}
|
|
}
|