27 lines
621 B
C#
Raw Normal View History

2021-11-26 19:33:56 +00:00
using QuantumUNET.Transport;
2021-11-26 22:31:52 +00:00
using System;
2021-11-26 19:33:56 +00:00
namespace QSB.Utility.VariableSync
{
public class BoolVariableSyncer : BaseVariableSyncer
{
2021-11-26 22:31:52 +00:00
public VariableReference<bool> ValueToSync { get; private set; } = new();
2021-11-26 19:33:56 +00:00
2021-11-26 22:31:52 +00:00
public void Init(Func<bool> getter, Action<bool> setter)
2021-11-26 19:33:56 +00:00
{
2021-11-26 22:31:52 +00:00
ValueToSync.Getter = getter;
ValueToSync.Setter = setter;
_ready = true;
2021-11-26 19:33:56 +00:00
}
2021-11-26 22:31:52 +00:00
public void OnDestroy()
=> _ready = false;
2021-11-26 19:33:56 +00:00
2021-11-26 22:31:52 +00:00
public override void WriteData(QNetworkWriter writer)
=> writer.Write(ValueToSync.Value);
public override void ReadData(QNetworkReader writer)
=> ValueToSync.Value = writer.ReadBoolean();
2021-11-26 19:33:56 +00:00
}
}