do DeterministicManager things on world objects added instead of ready

This commit is contained in:
JohnCorby 2022-11-09 14:35:33 -08:00
parent 9e0dbe55bb
commit 2dbc57bb14
2 changed files with 5 additions and 5 deletions

View File

@ -31,7 +31,7 @@ public static class DeterministicManager
}
};
public static void OnWorldObjectsReady()
public static void OnWorldObjectsAdded()
{
if (QSBCore.DebugSettings.DumpWorldObjects)
{
@ -267,7 +267,7 @@ public static class DeterministicManager
}
/// <summary>
/// only call this before world objects ready
/// only call this before world objects added
/// </summary>
public static string DeterministicPath(this Component component)
{
@ -298,7 +298,7 @@ public static class DeterministicManager
}
/// <summary>
/// only call this before world objects ready
/// only call this before world objects added
/// </summary>
public static IEnumerable<T> SortDeterministic<T>(this IEnumerable<T> components) where T : Component
=> components.OrderBy(DeterministicPath);

View File

@ -83,6 +83,8 @@ public static class QSBWorldSync
AllObjectsAdded = true;
DebugLog.DebugWrite("World Objects added.", MessageType.Success);
DeterministicManager.OnWorldObjectsAdded();
WorldObjectsHash = WorldObjects.Select(x => x.GetType().Name).GetMD5Hash();
DebugLog.DebugWrite($"WorldObject hash is {WorldObjectsHash}");
@ -101,8 +103,6 @@ public static class QSBWorldSync
AllObjectsReady = true;
DebugLog.DebugWrite("World Objects ready.", MessageType.Success);
DeterministicManager.OnWorldObjectsReady();
if (!QSBCore.IsHost)
{
new RequestInitialStatesMessage().Send();