diff --git a/NewHorizons/Builder/Body/BrambleDimensionBuilder.cs b/NewHorizons/Builder/Body/BrambleDimensionBuilder.cs index 7c7c7ce6..c5c70984 100644 --- a/NewHorizons/Builder/Body/BrambleDimensionBuilder.cs +++ b/NewHorizons/Builder/Body/BrambleDimensionBuilder.cs @@ -139,19 +139,6 @@ namespace NewHorizons.Builder.Body PairExit(config.linksTo, outerFogWarpVolume); - // If the config says only certain entrances are allowed, enforce that - if (config.allowedEntrances != null) - { - var entrances = outerFogWarpVolume._exits; - var newEntrances = new List(); - foreach (var index in config.allowedEntrances) - { - if(index is < 0 or > 5) continue; - newEntrances.Add(entrances[index]); - } - outerFogWarpVolume._exits = newEntrances.ToArray(); - } - // Set the scale var scale = config.radius / BASE_DIMENSION_RADIUS; geometry.transform.localScale = Vector3.one * scale; @@ -199,6 +186,22 @@ namespace NewHorizons.Builder.Body exitWarps.SetActive(true); repelVolume.SetActive(true); + // If the config says only certain entrances are allowed, enforce that + if (config.allowedEntrances != null) + { + Delay.FireOnNextUpdate(() => + { + var entrances = outerFogWarpVolume._exits; + var newEntrances = new List(); + foreach (var index in config.allowedEntrances) + { + if (index is < 0 or > 5) continue; + newEntrances.Add(entrances[index]); + } + outerFogWarpVolume._exits = newEntrances.ToArray(); + }); + } + return go; } diff --git a/NewHorizons/Builder/Props/BrambleNodeBuilder.cs b/NewHorizons/Builder/Props/BrambleNodeBuilder.cs index cb46855c..33aca4f4 100644 --- a/NewHorizons/Builder/Props/BrambleNodeBuilder.cs +++ b/NewHorizons/Builder/Props/BrambleNodeBuilder.cs @@ -193,19 +193,6 @@ namespace NewHorizons.Builder.Props fogLight._innerWarp = innerFogWarpVolume; fogLight._linkedFogLights = new List(); fogLight._linkedLightData = new List(); - - // If the config says only certain exits are allowed, enforce that - if (config.possibleExits != null) - { - var exits = innerFogWarpVolume._exits; - var newExits = new List(); - foreach (var index in config.possibleExits) - { - if(index is < 0 or > 5) continue; - newExits.Add(exits[index]); - } - innerFogWarpVolume._exits = newExits.ToArray(); - } // Set up screen fog effect var fogEffectRuleset = sector.gameObject.GetAddComponent(); @@ -338,8 +325,25 @@ namespace NewHorizons.Builder.Props } } - // Done! brambleNode.SetActive(true); + + // If the config says only certain exits are allowed, enforce that + if (config.possibleExits != null) + { + Delay.FireOnNextUpdate(() => + { + var exits = innerFogWarpVolume._exits; + var newExits = new List(); + foreach (var index in config.possibleExits) + { + if (index is < 0 or > 5) continue; + newExits.Add(exits[index]); + } + innerFogWarpVolume._exits = newExits.ToArray(); + }); + } + + // Done! return brambleNode; static Color CalculateLightShaftTint(float H, float S, float V)