SHA256
30 lines
1.1 KiB
C#
30 lines
1.1 KiB
C#
using ADOFAIRenderer.Core;
|
|
using HarmonyLib;
|
|
using UnityEngine;
|
|
|
|
namespace ADOFAIRenderer.Patch.Game;
|
|
|
|
[HarmonyPatch(typeof(PlanetRenderer))]
|
|
public static class PlanetRendererPatch
|
|
{
|
|
[HarmonyPrefix]
|
|
[HarmonyPatch("SetColor")]
|
|
// ReSharper disable once InconsistentNaming
|
|
private static void OverrideColor(PlanetRenderer __instance, ref PlanetColor planetColor)
|
|
{
|
|
if (RenderManager.Instance.stage == RenderStage.None) return;
|
|
|
|
var advConf = RenderManager.Instance.Configuration.AdvancedConfig;
|
|
ApplyColor(ref planetColor, scrController.instance.planetRed, advConf.firePlanetColor);
|
|
ApplyColor(ref planetColor, scrController.instance.planetBlue, advConf.icePlanetColor);
|
|
ApplyColor(ref planetColor, scrController.instance.planetGreen, advConf.windPlanetColor);
|
|
|
|
return;
|
|
|
|
void ApplyColor(ref PlanetColor planetColor, scrPlanet targetPlanet, Color? customColor)
|
|
{
|
|
if (__instance == targetPlanet.planetRenderer && customColor != null)
|
|
planetColor = new PlanetColor(customColor.Value);
|
|
}
|
|
}
|
|
} |