mirror of
https://github.com/misternebula/quantum-space-buddies.git
synced 2025-02-11 06:40:39 +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]);
|
var msg = (QSBMessage)Activator.CreateInstance(_msgTypeToType[msgType]);
|
||||||
netMsg.ReadMessage(msg);
|
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
|
try
|
||||||
{
|
{
|
||||||
if (!msg.ShouldReceive)
|
if (!msg.ShouldReceive)
|
||||||
@ -89,26 +109,6 @@ namespace QSB.Messaging
|
|||||||
return;
|
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)
|
if (msg.From != QSBPlayerManager.LocalPlayerId)
|
||||||
{
|
{
|
||||||
msg.OnReceiveRemote();
|
msg.OnReceiveRemote();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user