Table of Contents

Interface IConfigurationBuilder

Namespace
Icy.Configuration
Assembly
IcyUI.dll

Represents a service that simplifies library configuration building.

public interface IConfigurationBuilder
Extension Methods

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.

IConfigurationBuilder AfterBuild(Action<IcyConfiguration> step)

Parameters

step Action<IcyConfiguration>

The step to run on the built configuration.

Returns

IConfigurationBuilder

This builder.

Build()

Builds the final configuration object.

IcyConfiguration Build()

Returns

IcyConfiguration

The configured IcyConfiguration instance.

ConfigureAssets()

Configures the asset management system with additional settings.

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.

IAssetConfigurationBuilder ConfigureAssets(AssetConfiguration assetConfiguration)

Parameters

assetConfiguration AssetConfiguration

The 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.

IFontConfigurationBuilder ConfigureFonts()

Returns

IFontConfigurationBuilder

The fonts section of this builder.

ConfigureInput()

Configures the input system with additional settings.

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.

IInputConfigurationBuilder ConfigureInput(IInputSystem inputSystem)

Parameters

inputSystem IInputSystem

The input system instance.

Returns

IInputConfigurationBuilder

The current builder instance for fluent configuration.

ConfigureLogging()

Switches to the logging section, creating default LoggingConfiguration options if needed.

ILoggingConfigurationBuilder ConfigureLogging()

Returns

ILoggingConfigurationBuilder

The logging section of this builder.

ConfigureRendering()

Configures the rendering system with additional settings.

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.

IRenderingConfigurationBuilder ConfigureRendering(IRenderContext renderContext)

Parameters

renderContext IRenderContext

The render context instance.

Returns

IRenderingConfigurationBuilder

The current builder instance for fluent configuration.

ConfigureScaling()

Configures the default UI scaling settings with additional settings.

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.

IScalingConfigurationBuilder ConfigureScaling(ScalingConfiguration scalingConfiguration)

Parameters

scalingConfiguration ScalingConfiguration

The scaling configuration instance.

Returns

IScalingConfigurationBuilder

The current builder instance for fluent configuration.

ConfigureTheme()

Configures the default theme settings with additional settings.

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.

IThemeConfigurationBuilder ConfigureTheme(ThemeConfiguration themeConfiguration)

Parameters

themeConfiguration ThemeConfiguration

The theme configuration instance.

Returns

IThemeConfigurationBuilder

The current builder instance for fluent configuration.

ConfigureTypes()

Configures the reflection settings with additional settings.

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.

IReflectionConfigurationBuilder ConfigureTypes(ReflectionConfiguration typesConfig)

Parameters

typesConfig ReflectionConfiguration

The reflection configuration instance.

Returns

IReflectionConfigurationBuilder

The current builder instance for fluent configuration.