Table of Contents

Class StateResetter

Namespace
RandomizerCore.Logic.StateLogic
Assembly
RandomizerCore.dll

Modifier which outputs a specified state, with options to conditionally leave some fields unmodified.

public abstract class StateResetter : StateModifier, ILogicVariable
Inheritance
StateResetter
Implements
Inherited Members

Constructors

StateResetter(LogicManager)

protected StateResetter(LogicManager lm)

Parameters

lm LogicManager

Properties

OptIn

By default, is false, and fields which do not declare reset logic are reset. If true, fields which do not declare reset logic are not reset.

protected virtual bool OptIn { get; }

Property Value

bool

ResetLogicProperty

If not null, the name of a state field property which stores infix logic, which evaluates to true when the state field should be modified by the resetter.

protected abstract string? ResetLogicProperty { get; }

Property Value

string

ResetState

The state which the resetter resets toward.

protected abstract State ResetState { get; }

Property Value

State

Methods

GetTerms()

The terms which could possibly alter the evaluation of the variable.

public override IEnumerable<Term> GetTerms()

Returns

IEnumerable<Term>

ModifyState(object?, ProgressionManager, LazyStateBuilder)

For a StateResetter, returns a singleton containing the result of ResetSingle, unless overridden by a derived class.

public override IEnumerable<LazyStateBuilder> ModifyState(object? sender, ProgressionManager pm, LazyStateBuilder state)

Parameters

sender object
pm ProgressionManager
state LazyStateBuilder

Returns

IEnumerable<LazyStateBuilder>

ProvideState(object?, ProgressionManager)

For a StateResetter, returns the empty sequence, unless overridden by a derived class.

public override IEnumerable<LazyStateBuilder>? ProvideState(object? sender, ProgressionManager pm)

Parameters

sender object
pm ProgressionManager

Returns

IEnumerable<LazyStateBuilder>

ResetSingle(ProgressionManager, LazyStateBuilder)

Applies the result of resetting the state towards the ResetState, accounting for the OptIn and conditional reset properties for this resetter.

protected LazyStateBuilder ResetSingle(ProgressionManager pm, LazyStateBuilder state)

Parameters

pm ProgressionManager
state LazyStateBuilder

Returns

LazyStateBuilder