Files

27 lines
875 B
C#

using System.Diagnostics.CodeAnalysis;
using Moonlight.Frontend.Infrastructure.Hooks;
namespace Moonlight.Frontend.Infrastructure.Configuration;
public class LayoutMiddlewareOptions
{
private readonly List<Type> InnerComponents = new();
public IReadOnlyList<Type> Components => InnerComponents;
public void Add<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] T>() where T : LayoutMiddlewareBase
{
InnerComponents.Add(typeof(T));
}
public void Insert<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] T>(int index)
where T : LayoutMiddlewareBase
{
InnerComponents.Insert(index, typeof(T));
}
public void Remove<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] T>()
where T : LayoutMiddlewareBase
{
InnerComponents.Remove(typeof(T));
}
}