From d9aff659baf50224fe6d99afe13a5ac783915277 Mon Sep 17 00:00:00 2001 From: Dev Date: Tue, 27 Feb 2024 19:51:12 +0000 Subject: [PATCH] Fix `LoadOfflineRaidScreenForScav` patch failing to find private field --- .../Patches/ScavMode/LoadOfflineRaidScreenPatch.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/project/Aki.SinglePlayer/Patches/ScavMode/LoadOfflineRaidScreenPatch.cs b/project/Aki.SinglePlayer/Patches/ScavMode/LoadOfflineRaidScreenPatch.cs index ddbcb16..a544021 100644 --- a/project/Aki.SinglePlayer/Patches/ScavMode/LoadOfflineRaidScreenPatch.cs +++ b/project/Aki.SinglePlayer/Patches/ScavMode/LoadOfflineRaidScreenPatch.cs @@ -116,7 +116,11 @@ namespace Aki.SinglePlayer.Patches.ScavMode // Get fields from MainMenuController.cs var raidSettings = Traverse.Create(menuController).Field("raidSettings_0").GetValue(); - var matchmakerPlayersController = Traverse.Create(menuController).Field($"{nameof(MatchmakerPlayerControllerClass).ToLowerInvariant()}_0").GetValue(); + + var matchmakerPlayersController = menuController.GetType() + .GetFields(AccessTools.all) + .Single(field => field.FieldType == typeof(MatchmakerPlayerControllerClass)) + ?.GetValue(menuController) as MatchmakerPlayerControllerClass; var gclass = new MatchmakerOfflineRaidScreen.GClass3160(profile?.Info, ref raidSettings, matchmakerPlayersController);