Namespace RandomizerCore.Logic.StateLogic
Classes
- ConstantStateProvider
A StateProvider which provides a fixed state union.
- PreState
Class which acts as a string-based StateBuilder before the StateManager exists.
- RawStateData
Serializable form of StateManager/StateManagerBuilder.
- SingleStateLogic
Base class for logic which can be evaluated with a ProgressionManager and a state as input.
- State
Immutable representation of path-dependent accessibility constraints. Consists of bool fields and nonnegative integer fields.
States are partially ordered via the bool and integer orderings for each field.
- StateAccessVariable
A LogicVariable which produces an int depending on progression data and a state input.
- StateBuilder
Object used to create State.
- StateLogicDef
A LogicDef which also supports state calculation.
- StateManager
Object which manages the list of fields which State should represent.
- StateManagerBuilder
Object used to create StateManager.
- StateModifier
Variable which acts on a state and yields a sequence of result states. Can also produce input-independent state.
- StateProvider
A LogicInt which can provide an input state to its logic branch, if not preceded by any state-valued terms.
- StateResetter
Modifier which outputs a specified state, with options to conditionally leave some fields unmodified.
- StateUnion
A collection of mutually incomparable states, representing a disjunction of possible states.
Structs
- LazyStateBuilder
Struct wrapper for a State or StateBuilder, which delays creating a StateBuilder until a mutating operation is requested. Note that this is a mutable struct. Pass it by ref to or return it from methods which perform mutating operations to ensure the effects of those operations are not lost.