From e8a23d2ac9e9c4c263df5beb72116a52f0a55908 Mon Sep 17 00:00:00 2001 From: Yoshi Askharoun Date: Tue, 21 May 2024 22:14:02 -0500 Subject: [PATCH] Create GetAvailableMods overload --- ZuneModCore/ModManager.cs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/ZuneModCore/ModManager.cs b/ZuneModCore/ModManager.cs index 7fda3b9..d9780ec 100644 --- a/ZuneModCore/ModManager.cs +++ b/ZuneModCore/ModManager.cs @@ -1,10 +1,13 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using ZuneModCore.Mods; namespace ZuneModCore; public class ModManager { + private static List? _mods; + /// /// Factories for all available mods. /// @@ -17,13 +20,20 @@ public class ModManager new MbidLocatorModFactory(), }.AsReadOnly(); - private static List? _mods; - public static IReadOnlyList GetAvailableMods() + /// + /// Creates instances of each mod using the available factories + /// using the default MVVM IoC instance. + /// + public static IReadOnlyList GetAvailableMods() => GetAvailableMods(CommunityToolkit.Mvvm.DependencyInjection.Ioc.Default); + + /// + /// Creates instances of each mod using the available factories. + /// + public static IReadOnlyList GetAvailableMods(IServiceProvider services) { if (_mods is null) { _mods = new(ModFactories.Count); - var services = CommunityToolkit.Mvvm.DependencyInjection.Ioc.Default; foreach (var modType in ModFactories) {