using ADOFAIRenderer.Core; using HarmonyLib; namespace ADOFAIRenderer.Patch.Game; [HarmonyPatch(typeof(PlanetarySystem))] public static class PlanetarySystemPatch { [HarmonyPostfix] [HarmonyPatch("Init")] // ReSharper disable once InconsistentNaming public static void OnInit(PlanetarySystem __instance) { ApplyWindPlanetColor(__instance); } [HarmonyPostfix] [HarmonyPatch("ApplyMultiplanetColors")] // ReSharper disable once InconsistentNaming public static void OnApplyMultiplanetColors(PlanetarySystem __instance) { ApplyWindPlanetColor(__instance); } private static void ApplyWindPlanetColor(PlanetarySystem planetarySystem) { if (RenderManager.Instance == null || RenderManager.Instance.stage == RenderStage.None) return; var advConf = RenderManager.Instance.Configuration.AdvancedConfig; if (advConf.windPlanetColor.HasValue && planetarySystem.planetGreen) { planetarySystem.planetGreen.planetRenderer.SetColor(new PlanetColor(advConf.windPlanetColor.Value)); } } }