Table of Contents

Interface ISettingsPropertyGroupBuilder

Namespace
MCM.Abstractions.FluentBuilder
Assembly
MCMv5.dll

An interface that defines the necessary members for implementing a settings property group builder.

public interface ISettingsPropertyGroupBuilder

Properties

Properties

The actual properties stored in the builder.

Dictionary<string, ISettingsPropertyBuilder> Properties { get; }

Property Value

Dictionary<string, ISettingsPropertyBuilder>

Methods

AddBool(string, string, IRef, Action<ISettingsPropertyBoolBuilder>?)

Creates a Bool property.

ISettingsPropertyGroupBuilder AddBool(string id, string name, IRef @ref, Action<ISettingsPropertyBoolBuilder>? builder)

Parameters

id string

Internal ID that will be used for serialization.

name string

Will be shown at the setting screen.

ref IRef

Reference to the value used by the property.

builder Action<ISettingsPropertyBoolBuilder>

Settings property builder.

Returns

ISettingsPropertyGroupBuilder

The settings property group builder.

AddButton(string, string, IRef, string, Action<ISettingsPropertyButtonBuilder>?)

Creates an Button property.

ISettingsPropertyGroupBuilder AddButton(string id, string name, IRef @ref, string content, Action<ISettingsPropertyButtonBuilder>? builder)

Parameters

id string

Internal ID that will be used for serialization.

name string

Will be shown at the setting screen.

ref IRef

Reference to the value used by the property.

content string

Button content.

builder Action<ISettingsPropertyButtonBuilder>

Settings property builder.

Returns

ISettingsPropertyGroupBuilder

The settings property group builder.

AddCustom<TSettingsPropertyBuilder>(ISettingsPropertyBuilder<TSettingsPropertyBuilder>)

Adds a custom property. The custom property should implement one of the interfaces defined in MCM.Abstractions.Settings.Definitions namespace. Currently there is no way of defining a custom UI Control. One of the possible fixes would be to use UIExtender library.

ISettingsPropertyGroupBuilder AddCustom<TSettingsPropertyBuilder>(ISettingsPropertyBuilder<TSettingsPropertyBuilder> builder) where TSettingsPropertyBuilder : ISettingsPropertyBuilder

Parameters

builder ISettingsPropertyBuilder<TSettingsPropertyBuilder>

Settings property builder.

Returns

ISettingsPropertyGroupBuilder

The settings property group builder.

Type Parameters

TSettingsPropertyBuilder

A derived class of ISettingsPropertyBuilder.

AddDropdown(string, string, int, IRef, Action<ISettingsPropertyDropdownBuilder>?)

Creates a Dropdown property.

ISettingsPropertyGroupBuilder AddDropdown(string id, string name, int selectedIndex, IRef @ref, Action<ISettingsPropertyDropdownBuilder>? builder)

Parameters

id string

Internal ID that will be used for serialization.

name string

Will be shown at the setting screen.

selectedIndex int

See SelectedIndex.

ref IRef

Reference to the value used by the property.

builder Action<ISettingsPropertyDropdownBuilder>

Settings property builder.

Returns

ISettingsPropertyGroupBuilder

The settings property group builder.

AddFloatingInteger(string, string, float, float, IRef, Action<ISettingsPropertyFloatingIntegerBuilder>?)

Creates an Float Slider property.

ISettingsPropertyGroupBuilder AddFloatingInteger(string id, string name, float minValue, float maxValue, IRef @ref, Action<ISettingsPropertyFloatingIntegerBuilder>? builder)

Parameters

id string

Internal ID that will be used for serialization.

name string

Will be shown at the setting screen.

minValue float

See MinValue.

maxValue float

See MaxValue.

ref IRef

Reference to the value used by the property.

builder Action<ISettingsPropertyFloatingIntegerBuilder>

Settings property builder.

Returns

ISettingsPropertyGroupBuilder

The settings property group builder.

AddInteger(string, string, int, int, IRef, Action<ISettingsPropertyIntegerBuilder>?)

Creates an Integer Slider property.

ISettingsPropertyGroupBuilder AddInteger(string id, string name, int minValue, int maxValue, IRef @ref, Action<ISettingsPropertyIntegerBuilder>? builder)

Parameters

id string

Internal ID that will be used for serialization.

name string

Will be shown at the setting screen.

minValue int

MinValue.

maxValue int

MaxValue.

ref IRef

Reference to the value used by the property.

builder Action<ISettingsPropertyIntegerBuilder>

Settings property builder.

Returns

ISettingsPropertyGroupBuilder

The settings property group builder.

AddText(string, string, IRef, Action<ISettingsPropertyTextBuilder>?)

Creates an TextBox property.

ISettingsPropertyGroupBuilder AddText(string id, string name, IRef @ref, Action<ISettingsPropertyTextBuilder>? builder)

Parameters

id string

Internal ID that will be used for serialization.

name string

Will be shown at the setting screen.

ref IRef

Reference to the value used by the property.

builder Action<ISettingsPropertyTextBuilder>

Settings property builder.

Returns

ISettingsPropertyGroupBuilder

The settings property group builder.

AddToggle(string, string, IRef, Action<ISettingsPropertyGroupToggleBuilder>?)

Creates a Toggle(bool) property.

ISettingsPropertyGroupBuilder AddToggle(string id, string name, IRef @ref, Action<ISettingsPropertyGroupToggleBuilder>? builder)

Parameters

id string

Internal ID that will be used for serialization.

name string

Will be shown at the setting screen.

ref IRef

Reference to the value used by the property.

builder Action<ISettingsPropertyGroupToggleBuilder>

Settings property builder.

Returns

ISettingsPropertyGroupBuilder

The settings property group builder.

GetPropertyGroupDefinition()

Gets this property group definition.

IPropertyGroupDefinition GetPropertyGroupDefinition()

Returns

IPropertyGroupDefinition

A property group definition.

SetGroupOrder(int)

ISettingsPropertyGroupBuilder SetGroupOrder(int value)

Parameters

value int

The value.

Returns

ISettingsPropertyGroupBuilder

The settings property group builder.


This page was last modified at 12/23/2022 11:49:56 +02:00 (UTC).

Commit Message
Author:    Aragas
Commit:    aa889a1db7974dc13c9ff22e5740d958a2228b18
* Added MCM Source Package NuGet for easier integration