27 lines
875 B
C#
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));
|
|
}
|
|
} |