diff --git a/NewHorizons/Builder/Props/DetailBuilder.cs b/NewHorizons/Builder/Props/DetailBuilder.cs index fe648556..760ee596 100644 --- a/NewHorizons/Builder/Props/DetailBuilder.cs +++ b/NewHorizons/Builder/Props/DetailBuilder.cs @@ -110,6 +110,15 @@ namespace NewHorizons.Builder.Props StreamingHandler.SetUpStreaming(prop, sector); + var torchItem = prop.GetComponent(); + // Fix vision torch + if (torchItem) + { + torchItem.enabled = true; + torchItem.mindProjectorTrigger.enabled = true; + torchItem.mindSlideProjector._mindProjectorImageEffect = SearchUtilities.Find("Player_Body/PlayerCamera").GetComponent(); + } + foreach (var component in prop.GetComponentsInChildren(true)) { /* @@ -176,7 +185,8 @@ namespace NewHorizons.Builder.Props } // Fix slide reel - if (component is SlideCollectionContainer container) + // softlocks if this object is a vision torch + if (!torchItem && component is SlideCollectionContainer container) { sector.OnOccupantEnterSector.AddListener(_ => container.LoadStreamingTextures()); } @@ -186,14 +196,6 @@ namespace NewHorizons.Builder.Props socket._sector = sector; } - // Fix vision torch - if (component is VisionTorchItem torchItem) - { - torchItem.enabled = true; - torchItem.mindProjectorTrigger.enabled = true; - torchItem.mindSlideProjector._mindProjectorImageEffect = SearchUtilities.Find("Player_Body/PlayerCamera").GetComponent(); - } - // fix campfires if (component is InteractVolume interactVolume) {