From 2a4a684912399b9924fa930396373db308ada15f Mon Sep 17 00:00:00 2001 From: Nicolas Gnyra Date: Fri, 5 Jan 2024 08:40:17 -0500 Subject: [PATCH] Allow binding against AsyncInstallers --- SiraUtil/SiraUtil.csproj | 1 + SiraUtil/Zenject/Harmony/ContextDecorator.cs | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/SiraUtil/SiraUtil.csproj b/SiraUtil/SiraUtil.csproj index 66830ce..81c46ae 100644 --- a/SiraUtil/SiraUtil.csproj +++ b/SiraUtil/SiraUtil.csproj @@ -56,6 +56,7 @@ $(BeatSaberDir)\Beat Saber_Data\Managed\BGLib.AppFlow.dll + True False diff --git a/SiraUtil/Zenject/Harmony/ContextDecorator.cs b/SiraUtil/Zenject/Harmony/ContextDecorator.cs index 882224e..666b225 100644 --- a/SiraUtil/Zenject/Harmony/ContextDecorator.cs +++ b/SiraUtil/Zenject/Harmony/ContextDecorator.cs @@ -1,4 +1,5 @@ -using HarmonyLib; +using BGLib.AppFlow.Initialization; +using HarmonyLib; using SiraUtil.Zenject.Internal; using System; using System.Collections.Generic; @@ -39,6 +40,10 @@ internal static void Prefix(ref Context __instance, ref List norm foreach (var installerPrefab in installerPrefabs) bindings.Add(new ContextBinding(__instance, installerPrefab.GetType(), accessor)); + if (__instance is AsyncSceneContext asyncSceneContext) + foreach (var asyncInstaller in asyncSceneContext._asyncInstallers) + bindings.Add(new ContextBinding(__instance, asyncInstaller.GetType(), accessor)); + if (__instance is SceneDecoratorContext decorator) _recentlyInstalledDecorators.Add(decorator);