From 3e0e809420dd37dd98561afa1846e7b02ff9668a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dami=C3=A1n=20Garro?= Date: Sat, 11 Jun 2022 01:31:47 -0300 Subject: [PATCH 1/2] Fix slide not showing after blackFrameDuration --- NewHorizons/Builder/Props/ProjectionBuilder.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/NewHorizons/Builder/Props/ProjectionBuilder.cs b/NewHorizons/Builder/Props/ProjectionBuilder.cs index 4a9f1bb7..05eff66f 100644 --- a/NewHorizons/Builder/Props/ProjectionBuilder.cs +++ b/NewHorizons/Builder/Props/ProjectionBuilder.cs @@ -96,7 +96,7 @@ namespace NewHorizons.Builder.Props imageLoader.imageLoadedEvent.AddListener( (Texture2D tex, int index) => { - slideCollection.slides[index].textureOverride = ImageUtilities.Invert(tex); + slideCollection.slides[index]._image = ImageUtilities.Invert(tex); // Track the first 15 to put on the slide reel object if (index < 15) @@ -176,7 +176,7 @@ namespace NewHorizons.Builder.Props slideCollection.slides[i] = slide; } - imageLoader.imageLoadedEvent.AddListener((Texture2D tex, int index) => { slideCollection.slides[index].textureOverride = ImageUtilities.Invert(tex); }); + imageLoader.imageLoadedEvent.AddListener((Texture2D tex, int index) => { slideCollection.slides[index]._image = ImageUtilities.Invert(tex); }); slideCollectionContainer.slideCollection = slideCollection; @@ -185,8 +185,8 @@ namespace NewHorizons.Builder.Props // Change the picture on the lens var lens = projectorObj.transform.Find("Spotlight/Prop_IP_SingleSlideProjector/Projector_Lens").GetComponent(); - lens.materials[1].mainTexture = slideCollection.slides[0]._textureOverride; - lens.materials[1].SetTexture(EmissionMap, slideCollection.slides[0]._textureOverride); + lens.materials[1].mainTexture = slideCollection.slides[0]._image; + lens.materials[1].SetTexture(EmissionMap, slideCollection.slides[0]._image); projectorObj.SetActive(true); } @@ -224,7 +224,7 @@ namespace NewHorizons.Builder.Props slideCollection.slides[i] = slide; } - imageLoader.imageLoadedEvent.AddListener((Texture2D tex, int index) => { slideCollection.slides[index].textureOverride = tex; }); + imageLoader.imageLoadedEvent.AddListener((Texture2D tex, int index) => { slideCollection.slides[index]._image = tex; }); // attatch a component to store all the data for the slides that play when a vision torch scans this target @@ -298,7 +298,7 @@ namespace NewHorizons.Builder.Props imageLoader.imageLoadedEvent.AddListener( (Texture2D tex, int index) => { - slideCollection.slides[index].textureOverride = tex; + slideCollection.slides[index]._image = tex; displaySlidesLoaded++; // threading moment if (displaySlidesLoaded >= slides.Length) @@ -380,7 +380,7 @@ namespace NewHorizons.Builder.Props public class VisionTorchTarget : MonoBehaviour { public MindSlideCollection slideCollection; - public SlideCollectionContainer slideCollectionContainer; + public SlideCollectionContainer slideCollectionContainer; public OWEvent.OWCallback onSlidesComplete; } } From 584b76458a9579d608580abbb5b077d543371baa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dami=C3=A1n=20Garro?= Date: Sat, 11 Jun 2022 01:32:21 -0300 Subject: [PATCH 2/2] Fix auto projector container not enabled --- NewHorizons/Patches/AutoSlideProjectorPatches.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 NewHorizons/Patches/AutoSlideProjectorPatches.cs diff --git a/NewHorizons/Patches/AutoSlideProjectorPatches.cs b/NewHorizons/Patches/AutoSlideProjectorPatches.cs new file mode 100644 index 00000000..7d045635 --- /dev/null +++ b/NewHorizons/Patches/AutoSlideProjectorPatches.cs @@ -0,0 +1,14 @@ +using HarmonyLib; + +namespace NewHorizons.Patches; + +[HarmonyPatch] +public class AutoSlideProjectorPatches +{ + [HarmonyPostfix] + [HarmonyPatch(typeof(AutoSlideProjector), nameof(AutoSlideProjector.Play))] + public static void AutoSlideProjector_Play(ref SlideCollectionContainer ____slideCollectionItem) + { + ____slideCollectionItem.enabled = true; + } +}