add a simple plugin system

This commit is contained in:
2023-11-14 14:20:26 +01:00
parent 1c4d7554e2
commit 9b7eb40cfc
20 changed files with 563 additions and 6 deletions

View File

@@ -0,0 +1,29 @@
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<PluginModule> modules = new();
public IReadOnlyList<PluginModule> Modules => modules.AsReadOnly();
public void RegisterModule(PluginModule module)
{
if (!modules.Contains(module))
modules.Add(module);
}
public void UnregisterModule(PluginModule module)
{
modules.Remove(module);
}
}
}