A collection of functions that return pre-defined series of generation steps that generate particular types of maps. For more customizable map generation, see documentation for the individual steps in GoRogue.MapGeneration.Steps and use AddStep to add them to a generator.
A context object used for map generation. Map generation steps will require and retrieve components that have been added to this context when they need to retrieve data about the map generated by previous steps.
Base class for implementing custom map generation steps.
Raised by generation steps in OnPerform(GenerationContext) when a parameter has been misconfigured.
Class designed to calculate and produce a list of Areas representing each unique connected area of the map.
Exception thrown when maximum retries for map generation is reached.
A class implementing the IReadOnlyMultiArea interface, that derives its area from multiple "sub-areas".
An area with an arbitrary number of sides and corners
An arbitrary list of any number of positions on the perimeter of a rectangle. Commonly used to represent a list of doors or edges of rooms by some map generation steps.
Raised by map generation steps if they detect that an invalid state (that can occasionally happen) is detected, and the map should be regenerated. Automatically used by the ConfigAndGenerateSafe(Action<Generator>, Int32) and ConfigAndGetStageEnumeratorSafe(Action<Generator>, Int32) functions.
A region of the map with four sides of arbitrary shape and size
Event fired when a region's Area is changed.
A interface adding onto IReadOnlyArea, intended to represent an area consisting of multiple other areas. Exposes a SubAreas field which lists the constituent areas.