fix things breaking after statue

This commit is contained in:
Mister_Nebula 2021-02-28 15:06:11 +00:00
parent 22c432b7a9
commit b89cb67794
4 changed files with 10 additions and 5 deletions

View File

@ -61,7 +61,7 @@ namespace QSB.OrbSync.Events
DebugLog.ToConsole("Error - FromPlayer is null!", MessageType.Error);
}
var orbSync = QSBWorldSync.OrbSyncList
.First(x => x.AttachedOrb == QSBWorldSync.OldOrbList[message.ObjectId]);
.FirstOrDefault(x => x.AttachedOrb == QSBWorldSync.OldOrbList[message.ObjectId]);
if (orbSync == null)
{
DebugLog.ToConsole($"Error - No orb found for user event. (ID {message.ObjectId})", MessageType.Error);

View File

@ -19,6 +19,7 @@ namespace QSB.OrbSync
{
QSBWorldSync.RemoveWorldObjects<QSBOrbSlot>();
QSBWorldSync.Init<QSBOrbSlot, NomaiInterfaceSlot>();
DebugLog.DebugWrite($"Finished slot build with {QSBWorldSync.GetWorldObjects<QSBOrbSlot>().Count()} slots.", MessageType.Success);
}
public void BuildOrbs()

View File

@ -1,4 +1,5 @@
using OWML.Utils;
using OWML.Common;
using OWML.Utils;
using QSB.Events;
using QSB.Player;
using QSB.Utility;
@ -39,15 +40,19 @@ namespace QSB.QuantumSync.WorldObjects
private List<Shape> GetAttachedShapes()
{
if (AttachedObject == null)
{
return new List<Shape>();
}
var visibilityTrackers = AttachedObject.GetValue<VisibilityTracker[]>("_visibilityTrackers");
if (visibilityTrackers == null || visibilityTrackers.Length == 0)
{
DebugLog.DebugWrite($"Error - {AttachedObject.name} has null visibility trackers!");
DebugLog.ToConsole($"Warning - {AttachedObject.name} has null visibility trackers!", MessageType.Warning);
return new List<Shape>();
}
if (visibilityTrackers.Any(x => x.GetType() == typeof(RendererVisibilityTracker)))
{
DebugLog.DebugWrite($"Error - {AttachedObject.name} has a renderervisibilitytracker!");
DebugLog.ToConsole($"Warning - {AttachedObject.name} has a RendererVisibilityTracker!", MessageType.Warning);
return new List<Shape>();
}
var totalShapes = new List<Shape>();

View File

@ -68,7 +68,6 @@ namespace QSB.TimeSync
private void OnSceneLoaded(OWScene scene, bool isInUniverse)
{
QSBCore.HasWokenUp = (scene == OWScene.EyeOfTheUniverse);
if (isInUniverse)
{
Init();