Fix #586 and also __0 thing

This commit is contained in:
Ben C 2023-05-07 01:06:00 -04:00
parent 4901d23db9
commit 31923d50c6
No known key found for this signature in database
GPG Key ID: 556064B755159BBC
2 changed files with 35 additions and 6 deletions

View File

@ -73,11 +73,11 @@ namespace NewHorizons.Patches.ShipLogPatches
[HarmonyPrefix]
[HarmonyPatch(nameof(ShipLogManager.IsFactRevealed))]
public static bool ShipLogManager_IsFactRevealed(ShipLogManager __instance, ref bool __result, string __0)
public static bool ShipLogManager_IsFactRevealed(ShipLogManager __instance, ref bool __result, string id)
{
if (__instance._factDict != null && __instance._factDict.ContainsKey(__0))
if (__instance._factDict != null && __instance._factDict.ContainsKey(id))
{
__result = __instance._factDict[__0].IsRevealed();
__result = __instance._factDict[id].IsRevealed();
}
else
{
@ -129,10 +129,9 @@ namespace NewHorizons.Patches.ShipLogPatches
[HarmonyPostfix]
[HarmonyPatch(nameof(ShipLogManager.RevealFact))]
public static void ShipLogManager_RevealFact(string __0)
public static void ShipLogManager_RevealFact(string id)
{
StarChartHandler.OnRevealFact(__0);
StarChartHandler.OnRevealFact(id);
AchievementHandler.OnRevealFact();
}
}

View File

@ -0,0 +1,30 @@
using HarmonyLib;
namespace NewHorizons.Patches.ShipLogPatches
{
[HarmonyPatch(typeof(SlideCollectionContainer))]
public static class SlideCollectionContainerPatches
{
[HarmonyPrefix]
[HarmonyPatch(typeof(SlideCollectionContainer), nameof(SlideCollectionContainer.Initialize))]
public static bool SlideCollectionContainer_Initialize(SlideCollectionContainer __instance, string id)
{
if (__instance._initialized)
return false;
__instance.SetupReadFlags();
__instance.RegisterPerSlideCompletion();
if (__instance.streamingTexturesAvailable)
__instance.SetupStreaming();
__instance.BuildMusicRangesIndex();
__instance._changeSlidesAllowed = true;
__instance._initialized = true;
__instance._slideCollection.isVision = __instance._owningItem == null;
foreach (var factID in __instance._playWithShipLogFacts)
{
var fact = Locator.GetShipLogManager().GetFact(factID);
fact?.RegisterSlideCollection(__instance._slideCollection);
}
return false;
}
}
}