Table of Contents

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

AssetConfiguration

InputSystem

Gets an instance of the IInputSystem to be used in application.

[NotNull]
public IInputSystem? InputSystem { get; }

Property Value

IInputSystem

Logging

Gets the logging options the built configuration's Logging is created from.

[NotNull]
public LoggingConfiguration? Logging { get; }

Property Value

LoggingConfiguration

RenderContext

Gets an instance of the rendering service to be used in application.

[NotNull]
public IRenderContext? RenderContext { get; }

Property Value

IRenderContext

Scaling

Gets an instance of the ScalingConfiguration to be used in application.

[NotNull]
public ScalingConfiguration? Scaling { get; }

Property Value

ScalingConfiguration

Theme

Gets an instance of the ThemeConfiguration to be used in application.

[NotNull]
public ThemeConfiguration? Theme { get; }

Property Value

ThemeConfiguration

Types

Gets an instance of the ReflectionConfiguration to be used in application.

[NotNull]
public ReflectionConfiguration? Types { get; }

Property Value

ReflectionConfiguration

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

step Action<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

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.

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

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.

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

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.

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

scalingConfiguration ScalingConfiguration

The 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

themeConfiguration ThemeConfiguration

The 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

typesConfig ReflectionConfiguration

The reflection configuration instance.

Returns

IReflectionConfigurationBuilder

The current builder instance for fluent configuration.