mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
36 lines
1.5 KiB
C#
36 lines
1.5 KiB
C#
using HarmonyLib;
|
|
|
|
namespace NewHorizons.Patches.EchoesOfTheEyePatches
|
|
{
|
|
[HarmonyPatch(typeof(MindSlideProjector))]
|
|
public static class MindSlideProjectionPatches
|
|
{
|
|
[HarmonyPrefix]
|
|
[HarmonyPatch(typeof(MindSlideProjector), nameof(MindSlideProjector.SetMindSlideCollection))]
|
|
private static bool MindSlideProjector_SetMindSlideCollection(MindSlideProjector __instance, MindSlideCollection mindSlideCollection)
|
|
{
|
|
if (mindSlideCollection == null) return false;
|
|
|
|
if (__instance._mindSlideCollection == mindSlideCollection) return false;
|
|
|
|
// Original method didn't check if old _slideCollectionItem was null.
|
|
if (__instance._slideCollectionItem != null)
|
|
{
|
|
__instance._slideCollectionItem.onSlideTextureUpdated -= __instance.OnSlideTextureUpdated;
|
|
__instance._slideCollectionItem.onPlayBeatAudio -= __instance.OnPlayBeatAudio;
|
|
}
|
|
|
|
__instance._mindSlideCollection = mindSlideCollection;
|
|
__instance._defaultSlideDuration = mindSlideCollection.defaultSlideDuration;
|
|
|
|
__instance._slideCollectionItem = mindSlideCollection.slideCollectionContainer;
|
|
__instance._slideCollectionItem.onSlideTextureUpdated += __instance.OnSlideTextureUpdated;
|
|
__instance._slideCollectionItem.onPlayBeatAudio += __instance.OnPlayBeatAudio;
|
|
__instance._slideCollectionItem.Initialize();
|
|
__instance._slideCollectionItem.enabled = false;
|
|
|
|
return false;
|
|
}
|
|
}
|
|
}
|