using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Z.Collections.Extensions; namespace Pilz.Plugins.Advanced { public sealed class PluginModuleController { public static PluginModuleController Instance { get; private set; } = new(); private readonly List modules = new(); public IReadOnlyList Modules => modules.AsReadOnly(); public void RegisterModule(PluginModule module) { if (!modules.Contains(module)) modules.Add(module); } public void UnregisterModule(PluginModule module) { modules.Remove(module); } } }