Table of Contents

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.

StateBool
StateBuilder

Object used to create State.

StateField
StateFieldAccessor
StateInt
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.

Interfaces

IState
IStateProvider

Enums

StateFieldType