Class IcyConfigurationBuilder
- Namespace
- Icy.Configuration
- Assembly
- IcyUI.dll
Represents a builder that allows fluent configuration for the IcyUI library.
public class IcyConfigurationBuilder : IAssetConfigurationBuilder, IInputConfigurationBuilder, IRenderingConfigurationBuilder, IReflectionConfigurationBuilder, IThemeConfigurationBuilder, IScalingConfigurationBuilder, ILoggingConfigurationBuilder, IFontConfigurationBuilder, IConfigurationBuilder
- Inheritance
-
IcyConfigurationBuilder
- Implements
- Inherited Members
- Extension Methods
Properties
Assets
Gets an instance of the assets configuration to be used in application.
[NotNull]
public AssetConfiguration? Assets { get; }
Property Value
InputSystem
Gets an instance of the IInputSystem to be used in application.
[NotNull]
public IInputSystem? InputSystem { get; }
Property Value
Logging
Gets the logging options the built configuration's Logging is created from.
[NotNull]
public LoggingConfiguration? Logging { get; }
Property Value
RenderContext
Gets an instance of the rendering service to be used in application.
[NotNull]
public IRenderContext? RenderContext { get; }
Property Value
Scaling
Gets an instance of the ScalingConfiguration to be used in application.
[NotNull]
public ScalingConfiguration? Scaling { get; }
Property Value
Theme
Gets an instance of the ThemeConfiguration to be used in application.
[NotNull]
public ThemeConfiguration? Theme { get; }
Property Value
Types
Gets an instance of the ReflectionConfiguration to be used in application.
[NotNull]
public ReflectionConfiguration? Types { get; }
Property Value
Methods
AfterBuild(Action<IcyConfiguration>)
Records a step that needs the built configuration, such as loading the default theme. Steps run at the end of Build(), in the order they were added.
public IConfigurationBuilder AfterBuild(Action<IcyConfiguration> step)
Parameters
stepAction<IcyConfiguration>The step to run on the built configuration.
Returns
- IConfigurationBuilder
This builder.
Build()
Builds the final configuration object.
public IcyConfiguration Build()
Returns
- IcyConfiguration
The configured IcyConfiguration instance.
ConfigureAssets()
Configures the asset management system with additional settings.
public IAssetConfigurationBuilder ConfigureAssets()
Returns
- IAssetConfigurationBuilder
An instance of IAssetConfigurationBuilder to further configure the asset management system.
Remarks
This method allows for more detailed configuration of the asset system, such as setting up asset paths, localizers, and other related settings.
ConfigureAssets(AssetConfiguration)
Sets the asset configuration to be used by the library.
public IAssetConfigurationBuilder ConfigureAssets(AssetConfiguration assetConfiguration)
Parameters
assetConfigurationAssetConfigurationThe asset configuration instance.
Returns
- IAssetConfigurationBuilder
The current builder instance for fluent configuration.
ConfigureFonts()
Switches to the fonts section, whose steps run on the built configuration's Fonts.
public IFontConfigurationBuilder ConfigureFonts()
Returns
- IFontConfigurationBuilder
The fonts section of this builder.
ConfigureInput()
Configures the input system with additional settings.
public IInputConfigurationBuilder ConfigureInput()
Returns
- IInputConfigurationBuilder
An instance of IInputConfigurationBuilder to further configure the input system.
Remarks
This method allows for more detailed configuration of the input system, such as setting up key bindings, input events, and other related settings.
ConfigureInput(IInputSystem)
Sets the input system to be used by the library.
public IInputConfigurationBuilder ConfigureInput(IInputSystem inputSystem)
Parameters
inputSystemIInputSystemThe input system instance.
Returns
- IInputConfigurationBuilder
The current builder instance for fluent configuration.
ConfigureLogging()
Switches to the logging section, creating default LoggingConfiguration options if needed.
public ILoggingConfigurationBuilder ConfigureLogging()
Returns
- ILoggingConfigurationBuilder
The logging section of this builder.
ConfigureRendering()
Configures the rendering system with additional settings.
public IRenderingConfigurationBuilder ConfigureRendering()
Returns
- IRenderingConfigurationBuilder
An instance of IRenderingConfigurationBuilder to further configure the rendering system.
Remarks
This method allows for more detailed configuration of the rendering system, such as setting up rendering options, shaders, and other related settings.
ConfigureRendering(IRenderContext)
Sets the rendering context to be used by the library.
public IRenderingConfigurationBuilder ConfigureRendering(IRenderContext renderContext)
Parameters
renderContextIRenderContextThe render context instance.
Returns
- IRenderingConfigurationBuilder
The current builder instance for fluent configuration.
ConfigureScaling()
Configures the default UI scaling settings with additional settings.
public IScalingConfigurationBuilder ConfigureScaling()
Returns
- IScalingConfigurationBuilder
An instance of IScalingConfigurationBuilder to further configure UI scaling.
ConfigureScaling(ScalingConfiguration)
Sets the UI scaling configuration to be used by the library.
public IScalingConfigurationBuilder ConfigureScaling(ScalingConfiguration scalingConfiguration)
Parameters
scalingConfigurationScalingConfigurationThe scaling configuration instance.
Returns
- IScalingConfigurationBuilder
The current builder instance for fluent configuration.
ConfigureTheme()
Configures the default theme settings with additional settings.
public IThemeConfigurationBuilder ConfigureTheme()
Returns
- IThemeConfigurationBuilder
An instance of IThemeConfigurationBuilder to further configure the default theme.
ConfigureTheme(ThemeConfiguration)
Sets the theme configuration to be used by the library.
public IThemeConfigurationBuilder ConfigureTheme(ThemeConfiguration themeConfiguration)
Parameters
themeConfigurationThemeConfigurationThe theme configuration instance.
Returns
- IThemeConfigurationBuilder
The current builder instance for fluent configuration.
ConfigureTypes()
Configures the reflection settings with additional settings.
public IReflectionConfigurationBuilder ConfigureTypes()
Returns
- IReflectionConfigurationBuilder
An instance of IRenderingConfigurationBuilder to further configure the rendering system.
Remarks
This method allows for more detailed configuration of the reflection configuration, such as setting up assemblies resolving, types conversion and other related settings.
ConfigureTypes(ReflectionConfiguration)
Sets the reflection-related settings to be used by the library.
public IReflectionConfigurationBuilder ConfigureTypes(ReflectionConfiguration typesConfig)
Parameters
typesConfigReflectionConfigurationThe reflection configuration instance.
Returns
- IReflectionConfigurationBuilder
The current builder instance for fluent configuration.