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] [HarmonyPrefix]
[HarmonyPatch(nameof(ShipLogManager.IsFactRevealed))] [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 else
{ {
@ -129,10 +129,9 @@ namespace NewHorizons.Patches.ShipLogPatches
[HarmonyPostfix] [HarmonyPostfix]
[HarmonyPatch(nameof(ShipLogManager.RevealFact))] [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(); 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;
}
}
}