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
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
ResetState
The state which the resetter resets toward.
protected abstract State ResetState { get; }
Property Value
Methods
GetTerms()
The terms which could possibly alter the evaluation of the variable.
public override IEnumerable<Term> GetTerms()
Returns
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
objectpm
ProgressionManagerstate
LazyStateBuilder
Returns
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
objectpm
ProgressionManager
Returns
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
ProgressionManagerstate
LazyStateBuilder