Table of Contents

Class StateManagerBuilder

Namespace
RandomizerCore.Logic.StateLogic
Assembly
RandomizerCore.dll

Object used to create StateManager.

public class StateManagerBuilder
Inheritance
StateManagerBuilder
Inherited Members

Constructors

StateManagerBuilder()

public StateManagerBuilder()

StateManagerBuilder(StateManager)

public StateManagerBuilder(StateManager sm)

Parameters

sm StateManager

StateManagerBuilder(StateManagerBuilder)

public StateManagerBuilder(StateManagerBuilder smb)

Parameters

smb StateManagerBuilder

Properties

Bools

public ReadOnlyCollection<StateBool> Bools { get; }

Property Value

ReadOnlyCollection<StateBool>

FieldLookup

public ReadOnlyDictionary<string, StateField> FieldLookup { get; }

Property Value

ReadOnlyDictionary<string, StateField>

Ints

public ReadOnlyCollection<StateInt> Ints { get; }

Property Value

ReadOnlyCollection<StateInt>

Methods

AppendRawStateData(RawStateData?)

public void AppendRawStateData(RawStateData? rsd)

Parameters

rsd RawStateData

EnumerateNamedStateUnions()

public IEnumerable<(string, List<PreState>)> EnumerateNamedStateUnions()

Returns

IEnumerable<(string, List<PreState>)>

EnumerateNamedStates()

public IEnumerable<(string, PreState)> EnumerateNamedStates()

Returns

IEnumerable<(string, PreState)>

EnumeratePropertyLists()

public IEnumerable<(string, IEnumerable<(string, object?)>)> EnumeratePropertyLists()

Returns

IEnumerable<(string, IEnumerable<(string, object)>)>

GetOrAddBool(string)

public StateBool GetOrAddBool(string name)

Parameters

name string

Returns

StateBool

GetOrAddField(string, StateFieldType)

public StateField GetOrAddField(string name, StateFieldType type)

Parameters

name string
type StateFieldType

Returns

StateField

GetOrAddInt(string)

public StateInt GetOrAddInt(string name)

Parameters

name string

Returns

StateInt

GetOrAddNamedState(string)

public PreState GetOrAddNamedState(string name)

Parameters

name string

Returns

PreState

GetOrAddNamedStateUnion(string)

public List<PreState> GetOrAddNamedStateUnion(string name)

Parameters

name string

Returns

List<PreState>

RemoveProperty(string, string)

public void RemoveProperty(string fieldName, string propertyName)

Parameters

fieldName string
propertyName string

SetProperty(string, string, string)

Sets the field's property to the specified value.

public void SetProperty(string fieldName, string propertyName, string propertyValue)

Parameters

fieldName string
propertyName string
propertyValue string

SetProperty<T>(string, string, T)

Sets the field's property to the specified value.
Data on the StateManager is expected to be immutable. The generic constraints are to encourage only using primitive types and enums as property values through this overload.

public void SetProperty<T>(string fieldName, string propertyName, T propertyValue) where T : struct, IConvertible

Parameters

fieldName string
propertyName string
propertyValue T

Type Parameters

T

TryGetProperty(string, string, out object?)

public bool TryGetProperty(string fieldName, string propertyName, out object? propertyValue)

Parameters

fieldName string
propertyName string
propertyValue object

Returns

bool