mirror of
https://github.com/misternebula/quantum-space-buddies.git
synced 2025-02-10 21:40:19 +00:00
moved checks higher
This commit is contained in:
parent
00d93f765c
commit
1ccd277c5c
@ -82,6 +82,26 @@ namespace QSB.Messaging
|
||||
var msg = (QSBMessage)Activator.CreateInstance(_msgTypeToType[msgType]);
|
||||
netMsg.ReadMessage(msg);
|
||||
|
||||
if (PlayerTransformSync.LocalInstance == null)
|
||||
{
|
||||
DebugLog.ToConsole($"Warning - Tried to handle message of type <{msg.GetType().Name}> before localplayer was established.", MessageType.Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
if (QSBPlayerManager.PlayerExists(msg.From))
|
||||
{
|
||||
var player = QSBPlayerManager.GetPlayer(msg.From);
|
||||
|
||||
if (!player.IsReady
|
||||
&& player.PlayerId != QSBPlayerManager.LocalPlayerId
|
||||
&& player.State is ClientState.AliveInSolarSystem or ClientState.AliveInEye or ClientState.DeadInSolarSystem
|
||||
&& msg is not QSBEventRelay { Event: PlayerInformationEvent or PlayerReadyEvent or RequestStateResyncEvent or ServerStateEvent })
|
||||
{
|
||||
DebugLog.ToConsole($"Warning - Got message (type:{msg.GetType().Name}) from player {msg.From}, but they were not ready. Asking for state resync, just in case.", MessageType.Warning);
|
||||
QSBEventManager.FireEvent(EventNames.QSBRequestStateResync);
|
||||
}
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
if (!msg.ShouldReceive)
|
||||
@ -89,26 +109,6 @@ namespace QSB.Messaging
|
||||
return;
|
||||
}
|
||||
|
||||
if (PlayerTransformSync.LocalInstance == null)
|
||||
{
|
||||
DebugLog.ToConsole($"Warning - Tried to handle message of type <{msg.GetType().Name}> before localplayer was established.", MessageType.Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
if (QSBPlayerManager.PlayerExists(msg.From))
|
||||
{
|
||||
var player = QSBPlayerManager.GetPlayer(msg.From);
|
||||
|
||||
if (!player.IsReady
|
||||
&& player.PlayerId != QSBPlayerManager.LocalPlayerId
|
||||
&& player.State is ClientState.AliveInSolarSystem or ClientState.AliveInEye or ClientState.DeadInSolarSystem
|
||||
&& msg is not QSBEventRelay { Event: PlayerInformationEvent or PlayerReadyEvent or RequestStateResyncEvent or ServerStateEvent })
|
||||
{
|
||||
DebugLog.ToConsole($"Warning - Got message (type:{msg.GetType().Name}) from player {msg.From}, but they were not ready. Asking for state resync, just in case.", MessageType.Warning);
|
||||
QSBEventManager.FireEvent(EventNames.QSBRequestStateResync);
|
||||
}
|
||||
}
|
||||
|
||||
if (msg.From != QSBPlayerManager.LocalPlayerId)
|
||||
{
|
||||
msg.OnReceiveRemote();
|
||||
|
Loading…
x
Reference in New Issue
Block a user