quantum-space-buddies/QSB/ClientServerStateSync/Messages/ClientStateMessage.cs

29 lines
670 B
C#
Raw Normal View History

2021-12-23 02:27:12 +00:00
using OWML.Common;
using QSB.Messaging;
using QSB.Player;
using QSB.Utility;
2022-03-03 03:46:33 +00:00
namespace QSB.ClientServerStateSync.Messages;
/// <summary>
/// sets the state both locally and remotely
/// </summary>
internal class ClientStateMessage : QSBMessage<ClientState>
2021-12-23 02:27:12 +00:00
{
2022-03-11 01:57:50 +00:00
public ClientStateMessage(ClientState state) : base(state) { }
2021-12-23 02:27:12 +00:00
2022-03-03 03:46:33 +00:00
public override void OnReceiveLocal()
=> ClientStateManager.Instance.ChangeClientState(Data);
2021-12-23 02:27:12 +00:00
2022-03-03 03:46:33 +00:00
public override void OnReceiveRemote()
{
if (From == uint.MaxValue)
2021-12-23 02:27:12 +00:00
{
2022-03-03 03:46:33 +00:00
DebugLog.ToConsole($"Error - ID is uint.MaxValue!", MessageType.Error);
return;
}
2022-03-03 03:46:33 +00:00
var player = QSBPlayerManager.GetPlayer(From);
player.State = Data;
2021-12-23 02:27:12 +00:00
}
}