Namespace GoRogue.FOV
Classes
BooleanBasedFOVBase
Base class which is convenient for defining FOV algorithms which produce an array of booleans as output, and thus they derive their DoubleResultView values from the boolean values, by making the double value returned a function of distance from the origin relative to radius.
DoubleBasedFOVBase
Base class which is convenient for defining FOV algorithms which produce an array of doubles as output, and thus they derive their BooleanResultView values from the double values (anything greater than 0 is true).
FOVBase
Base class that is convenient for creating custom implementations of the IFOV interface.
FOVBooleanToDoubleTranslationView
Implements a grid view which, given an IReadOnlyFOV instance, can calculate the value for DoubleResultView based on BooleanResultView. The double returned will be 0 if the square is outside the FOV, and will be a value in the range (0, 1] which is a function of the distance from the appropriate source otherwise.
FOVRecalculatedEventArgs
Arguments for event fired when FOV is recalculated.
RecursiveShadowcastingBooleanBasedFOV
An alternative implementation of RecursiveShadowcastingFOV which generates boolean values as the output of the FOV algorithm, rather than generating doubles and translating to booleans as needed. It still implements DoubleResultView, but those values are calculated on the fly from the boolean values, rather than the other way around. These differences have performance implications that can make this algorithm more suitable for some scenarios (see remarks).
RecursiveShadowcastingFOV
Implements IFOV by using a recursive shadow-casting implementation.
Structs
FOVCalculateParameters
Represents a set of parameters that were passed to a call to Calculate.
Interfaces
IFOV
Interface representing the capability to calculate a grid-based field of view for a map.
IReadOnlyFOV
Read-only interface of IFOV.