SHA256
37 lines
1.2 KiB
C#
37 lines
1.2 KiB
C#
using ADOFAIRenderer.Core;
|
|
using HarmonyLib;
|
|
|
|
namespace ADOFAIRenderer.Patch.Game;
|
|
|
|
[HarmonyPatch(typeof(Persistence))]
|
|
public static class PersistencePatch
|
|
{
|
|
[HarmonyPostfix]
|
|
[HarmonyPatch("skipIntroBehavior", MethodType.Getter)]
|
|
// ReSharper disable once InconsistentNaming
|
|
public static void LockSkipIntroBehavior(ref SkipIntroBehavior __result)
|
|
{
|
|
if (RenderManager.IsActive &&
|
|
scrConductor.instance != null &&
|
|
!scrConductor.instance.hasSongStarted)
|
|
{
|
|
__result = SkipIntroBehavior.Off;
|
|
}
|
|
}
|
|
|
|
[HarmonyPostfix]
|
|
[HarmonyPatch("GetPlayerColor")]
|
|
// ReSharper disable once InconsistentNaming
|
|
public static void OverridePlayerColor(bool red, ref PlanetColor __result)
|
|
{
|
|
if (!RenderManager.Instance || RenderManager.Instance.stage == RenderStage.None) return;
|
|
var advConf = RenderManager.Instance.Configuration.AdvancedConfig;
|
|
|
|
__result = red switch
|
|
{
|
|
true when advConf.firePlanetColor.HasValue => new PlanetColor(advConf.firePlanetColor.Value),
|
|
false when advConf.icePlanetColor.HasValue => new PlanetColor(advConf.icePlanetColor.Value),
|
|
_ => __result
|
|
};
|
|
}
|
|
} |