request initial states EVERY time world objects are ready, goofus

This commit is contained in:
JohnCorby 2022-01-25 23:46:41 -08:00
parent a2660d6a54
commit 141ed5c13c
4 changed files with 10 additions and 9 deletions

View File

@ -6,7 +6,7 @@ using QSB.Utility;
namespace QSB.Player.Messages
{
// Can be sent by any client (including host) to signal they want latest worldobject, player, and server information
// Can be sent by any client (including host) to signal they want latest player and server information
public class RequestStateResyncMessage : QSBMessage
{
/// <summary>

View File

@ -240,9 +240,6 @@ namespace QSB
{
QSBCore.UnityEvents.RunWhen(() => PlayerTransformSync.LocalInstance,
() => new RequestStateResyncMessage().Send());
QSBCore.UnityEvents.RunWhen(() => QSBWorldSync.AllObjectsReady,
() => new RequestInitialStatesMessage().Send());
}
_everConnected = true;

View File

@ -1,6 +1,7 @@
using OWML.Common;
using QSB.ConversationSync.Patches;
using QSB.LogSync;
using QSB.Messaging;
using QSB.Player.TransformSync;
using QSB.TriggerSync.WorldObjects;
using QSB.Utility;
@ -62,6 +63,11 @@ namespace QSB.WorldSync
{
AllObjectsReady = true;
DebugLog.DebugWrite("World Objects ready.", MessageType.Success);
if (!QSBCore.IsHost)
{
new RequestInitialStatesMessage().Send();
}
});
});
}

View File

@ -5,13 +5,11 @@ using QSB.Utility;
namespace QSB.WorldSync
{
/// <summary>
/// sent by non-host clients to get object states
/// </summary>
public class RequestInitialStatesMessage : QSBMessage
{
public RequestInitialStatesMessage()
{
DebugLog.DebugWrite("getting initial states");
}
public override void OnReceiveRemote()
{
QSBCore.UnityEvents.RunWhen(() => QSBWorldSync.AllObjectsReady,