Table of Contents

Namespace RandomizerCore.Logic

Classes

ConstantInt

A LogicInt which produces a constant value.

DNFLogicDef

A LogicDef which stores its contents in disjunctive normal form.
Preferred for operations which need to inspect the successful subexpression after evaluation, such as most state operations.

HashQueue<T>

A queue of distinct items.

LogicCost
LogicDef

Class representing a logic clause, which can be evaluated with a ProgressionManager.

LogicInt

A LogicVariable which produces an int value.

LogicManager
LogicManagerBuilder
LogicOperatorRef
LogicTransition
LogicVariable

Terms in logic which require external computation. Cast to a derived class to evaluate. Main subclasses are currently LogicInt and StateModifier.

LogicWaypoint
MainUpdater

Class which indexes subscribers by their dependency on progression terms to optimize updating in response to new progression.

PMHook
PrePlacedItemUpdateEntry
ProgressionData
ProgressionManager
RPNLogicDef

A LogicDef which stores its contents in reverse Polish notation.

SimpleCost
StateUpdateEntry
StateUpdateEntry.StateSetter
Term
TermCollection
TermCollectionBuilder
TermIndexedCollection<T>
UpdateEntry
UpdateEntryBase
VariableResolver

Class which parses terms in logic as LogicVariables.

Structs

DNFLogicDef.StatePathResult
RawLogicDef
RawSubstDef
RawWaypointDef

Interfaces

ILocationWaypoint

Interface for locations which have waypoint-like behavior, in that they modify the ProgressionManager when they become reachable.

ILogicDef
ILogicFormat

Interface describing a strategy for loading a specific file format into a LogicManagerBuilder.

ILogicInt
ILogicVariable

Enums

LogicFileType

Enum used for identifying data for the LogicManagerBuilder.

LogicOperators
TermType