using OWML.Common; using QSB.Messaging; using QSB.Player; using QSB.Utility; namespace QSB.ClientServerStateSync.Messages; /// /// sets the state both locally and remotely /// internal class ClientStateMessage : QSBMessage { public ClientStateMessage(ClientState state) : base(state) { } public override void OnReceiveLocal() => ClientStateManager.Instance.ChangeClientState(Data); public override void OnReceiveRemote() { if (From == uint.MaxValue) { DebugLog.ToConsole($"Error - ID is uint.MaxValue!", MessageType.Error); return; } var player = QSBPlayerManager.GetPlayer(From); player.State = Data; } }