check for abstract types

This commit is contained in:
Pilzinsel64
2025-08-21 07:08:21 +02:00
parent f3658e466f
commit dc25063ca1

View File

@@ -111,7 +111,7 @@ public class PluginFeatureController
/// <param name="namespace">If not null, the type will only be processed if it's within the given namespace.</param> /// <param name="namespace">If not null, the type will only be processed if it's within the given namespace.</param>
public void RegisterAll(Type type, string? @namespace = null) public void RegisterAll(Type type, string? @namespace = null)
{ {
if (@namespace != null && type.Namespace != null && type.Namespace != @namespace && !type.Namespace.StartsWith(@namespace + ".")) if (@namespace != null && type.Namespace != null && type.Namespace != @namespace && !type.Namespace.StartsWith(@namespace + ".") || type.IsAbstract)
return; return;
if (type.IsAssignableTo(typeof(IPluginFeaturesProvider))) if (type.IsAssignableTo(typeof(IPluginFeaturesProvider)))
@@ -171,11 +171,8 @@ public class PluginFeatureController
/// <param name="module"></param> /// <param name="module"></param>
public void Register(PluginFeature module) public void Register(PluginFeature module)
{ {
if (!features.Contains(module)) if (features.Add(module))
{
features.Add(module);
OnPluginFeatureReistred?.Invoke(this, module); OnPluginFeatureReistred?.Invoke(this, module);
}
} }
/// <summary> /// <summary>