mirror of
https://github.com/misternebula/quantum-space-buddies.git
synced 2025-02-20 15:41:01 +00:00
RequestGameStateMessage: wait until world objects ready before sending response
This commit is contained in:
parent
72e8ccbab4
commit
a97e869850
@ -2,6 +2,7 @@
|
||||
using QSB.Messaging;
|
||||
using QSB.Player;
|
||||
using QSB.Utility;
|
||||
using QSB.WorldSync;
|
||||
|
||||
namespace QSB.SaveSync.Messages;
|
||||
|
||||
@ -13,27 +14,28 @@ internal class RequestGameStateMessage : QSBMessage
|
||||
public RequestGameStateMessage() => To = 0;
|
||||
|
||||
public override void OnReceiveRemote() => Delay.RunFramesLater(100, () =>
|
||||
{
|
||||
if (!QSBPlayerManager.PlayerExists(From))
|
||||
Delay.RunWhen(() => QSBWorldSync.AllObjectsReady, () =>
|
||||
{
|
||||
// player was kicked
|
||||
return;
|
||||
}
|
||||
if (!QSBPlayerManager.PlayerExists(From))
|
||||
{
|
||||
// player was kicked
|
||||
return;
|
||||
}
|
||||
|
||||
new GameStateMessage(From).Send();
|
||||
new GameStateMessage(From).Send();
|
||||
|
||||
var gameSave = PlayerData._currentGameSave;
|
||||
var gameSave = PlayerData._currentGameSave;
|
||||
|
||||
var factSaves = gameSave.shipLogFactSaves;
|
||||
foreach (var item in factSaves)
|
||||
{
|
||||
new ShipLogFactSaveMessage(item.Value).Send();
|
||||
}
|
||||
var factSaves = gameSave.shipLogFactSaves;
|
||||
foreach (var item in factSaves)
|
||||
{
|
||||
new ShipLogFactSaveMessage(item.Value).Send();
|
||||
}
|
||||
|
||||
var dictConditions = gameSave.dictConditions;
|
||||
foreach (var item in dictConditions)
|
||||
{
|
||||
new PersistentConditionMessage(item.Key, item.Value).Send();
|
||||
}
|
||||
});
|
||||
}
|
||||
var dictConditions = gameSave.dictConditions;
|
||||
foreach (var item in dictConditions)
|
||||
{
|
||||
new PersistentConditionMessage(item.Key, item.Value).Send();
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user