diff --git a/NewHorizons/Builder/General/AmbientLightBuilder.cs b/NewHorizons/Builder/General/AmbientLightBuilder.cs index a3157165..b338efb0 100644 --- a/NewHorizons/Builder/General/AmbientLightBuilder.cs +++ b/NewHorizons/Builder/General/AmbientLightBuilder.cs @@ -4,12 +4,18 @@ namespace NewHorizons.Builder.General { public static class AmbientLightBuilder { + private static GameObject _ambientLightPrefab; + + internal static void InitPrefab() + { + if (_ambientLightPrefab == null) _ambientLightPrefab = SearchUtilities.Find("QuantumMoon_Body/AmbientLight_QM").InstantiateInactive().Rename("Prefab_QM_AmbientLight").DontDestroyOnLoad(); + } + public static Light Make(GameObject planetGO, Sector sector, float scale, float intensity) { - var ambientLight = Main.Instance.CurrentStarSystem == "EyeOfTheUniverse" ? SearchUtilities.Find("EyeOfTheUniverse_Body/Sector_EyeOfTheUniverse/SixthPlanet_Root/QuantumMoonProxy_Pivot/QuantumMoonProxy_Root/MoonState_Root/AmbientLight_QM") : SearchUtilities.Find("QuantumMoon_Body/AmbientLight_QM"); - if (ambientLight == null) return null; + InitPrefab(); - GameObject lightGO = GameObject.Instantiate(ambientLight, sector?.transform ?? planetGO.transform); + GameObject lightGO = GameObject.Instantiate(_ambientLightPrefab, sector?.transform ?? planetGO.transform); lightGO.transform.position = planetGO.transform.position; lightGO.name = "AmbientLight"; diff --git a/NewHorizons/Main.cs b/NewHorizons/Main.cs index b217682e..88312433 100644 --- a/NewHorizons/Main.cs +++ b/NewHorizons/Main.cs @@ -268,6 +268,7 @@ namespace NewHorizons { try { + AmbientLightBuilder.InitPrefab(); AtmosphereBuilder.InitPrefabs(); BrambleDimensionBuilder.InitPrefabs(); BrambleNodeBuilder.InitPrefabs();