Show / Hide Table of Contents

Class IMapViewExtensions

Extensions for IMapView<T> implementaions that provide basic utility functions for them.

Inheritance
System.Object
IMapViewExtensions
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: GoRogue.MapViews
Assembly: GoRogue.dll
Syntax
public static class IMapViewExtensions
Remarks

By providing these as extension methods, they effectively act as interface methods that have implementations already defined. If these were regular interface implemenations, all interface implementers would be forced to implement them manually, which is undesireable as the implementation should clearly be the same and is based only on functions/properties defined in IMapView.

Methods

| Improve this Doc View Source

ApplyOverlay<T>(ISettableMapView<T>, IMapView<T>)

Sets all the values of the current map to be equal to the corresponding values from the map you pass in.

Declaration
public static void ApplyOverlay<T>(this ISettableMapView<T> self, IMapView<T> overlay)
Parameters
Type Name Description
ISettableMapView<T> self
IMapView<T> overlay

The data apply to the map. Must have identical dimensions to the current map.

Type Parameters
Name Description
T
| Improve this Doc View Source

Bounds<T>(IMapView<T>)

Gets a rectangle representing the bounds of the current map view.

Declaration
public static Rectangle Bounds<T>(this IMapView<T> mapView)
Parameters
Type Name Description
IMapView<T> mapView
Returns
Type Description
Rectangle

A rectangle representing the map view's bounds.

Type Parameters
Name Description
T
| Improve this Doc View Source

Contains<T>(IMapView<T>, Coord)

Returns whether or not the given position is contained withing the current map view or not.

Declaration
public static bool Contains<T>(this IMapView<T> mapView, Coord position)
Parameters
Type Name Description
IMapView<T> mapView
Coord position

The position to check.

Returns
Type Description
System.Boolean

True if the given position is contained within this map view, false otherwise.

Type Parameters
Name Description
T
| Improve this Doc View Source

Contains<T>(IMapView<T>, Int32, Int32)

Returns whether or not the given position is contained withing the current map view or not.

Declaration
public static bool Contains<T>(this IMapView<T> mapView, int x, int y)
Parameters
Type Name Description
IMapView<T> mapView
System.Int32 x

X-value of the position to check.

System.Int32 y

Y-value of the position to check.

Returns
Type Description
System.Boolean

True if the given position is contained within this map view, false otherwise.

Type Parameters
Name Description
T
| Improve this Doc View Source

ExtendToString<T>(IMapView<T>, Int32, String, String, Func<T, String>, String, String, String, String)

Allows stringifying the contents of a map view. Takes characters to surround the map, and each row, the method used to get the string representation of each element (defaulting to the ToString function of type T), and separation characters for each element and row. Takes the size of the field to give each element, characters to surround the MapView printout, and each row, the method used to get the string representation of each element (defaulting to the ToString function of type T), and separation characters for each element and row.

Declaration
public static string ExtendToString<T>(this IMapView<T> map, int fieldSize, string begin = "", string beginRow = "", Func<T, string> elementStringifier = null, string rowSeparator = "\n", string elementSeparator = " ", string endRow = "", string end = "")
Parameters
Type Name Description
IMapView<T> map
System.Int32 fieldSize

The amount of space each element should take up in characters. A positive number aligns the text to the right of the space, while a negative number aligns the text to the left.

System.String begin

Character(s) that should precede the IMapView printout.

System.String beginRow

Character(s) that should precede each row.

System.Func<T, System.String> elementStringifier

Function to use to get the string representation of each value. Null uses the ToString function of type T.

System.String rowSeparator

Character(s) to separate each row from the next.

System.String elementSeparator

Character(s) to separate each element from the next.

System.String endRow

Character(s) that should follow each row.

System.String end

Character(s) that should follow the IMapView printout.

Returns
Type Description
System.String

A string representation of the map, as viewd by the given map view.

Type Parameters
Name Description
T
| Improve this Doc View Source

ExtendToString<T>(IMapView<T>, String, String, Func<T, String>, String, String, String, String)

Allows stringifying the contents of a map view. Takes characters to surround the map printout, and each row, the method used to get the string representation of each element (defaulting to the ToString function of type T), and separation characters for each element and row.

Declaration
public static string ExtendToString<T>(this IMapView<T> map, string begin = "", string beginRow = "", Func<T, string> elementStringifier = null, string rowSeparator = "\n", string elementSeparator = " ", string endRow = "", string end = "")
Parameters
Type Name Description
IMapView<T> map
System.String begin

Character(s) that should precede the IMapView printout.

System.String beginRow

Character(s) that should precede each row.

System.Func<T, System.String> elementStringifier

Function to use to get the string representation of each value. null uses the ToString function of type T.

System.String rowSeparator

Character(s) to separate each row from the next.

System.String elementSeparator

Character(s) to separate each element from the next.

System.String endRow

Character(s) that should follow each row.

System.String end

Character(s) that should follow the IMapView printout.

Returns
Type Description
System.String

A string representation of the map, as viewd by the given map view.

Type Parameters
Name Description
T
| Improve this Doc View Source

Positions<T>(IMapView<T>)

Iterates through each position in the map view. Equivalent to nested for loop for (y = 0...) for (x = 0...)

Declaration
public static IEnumerable<Coord> Positions<T>(this IMapView<T> mapView)
Parameters
Type Name Description
IMapView<T> mapView
Returns
Type Description
System.Collections.Generic.IEnumerable<Coord>

All positions in the IMapView.

Type Parameters
Name Description
T
| Improve this Doc View Source

RandomItem<T>(IMapView<T>, Func<Coord, T, Boolean>, IGenerator)

Gets the item at a random position in the map view for which the selector returns true. Random positions will continuously be generated until one that qualifies is found.

Declaration
public static T RandomItem<T>(this IMapView<T> mapView, Func<Coord, T, bool> selector, IGenerator rng = null)
Parameters
Type Name Description
IMapView<T> mapView
System.Func<Coord, T, System.Boolean> selector

Function that takes a position, and the value at that position, and returns true if it is an acceptable selection, and false if not.

Troschuetz.Random.IGenerator rng

The rng to use. Defaults to DefaultRNG.

Returns
Type Description
T

The item at a random position in the IMapView for which the selector returns true.

Type Parameters
Name Description
T
| Improve this Doc View Source

RandomItem<T>(IMapView<T>, IGenerator)

Gets the value at a random position in the IMapView.

Declaration
public static T RandomItem<T>(this IMapView<T> mapView, IGenerator rng = null)
Parameters
Type Name Description
IMapView<T> mapView
Troschuetz.Random.IGenerator rng

The rng to use. Defaults to DefaultRNG.

Returns
Type Description
T

The item at a random position in the IMapView.

Type Parameters
Name Description
T
| Improve this Doc View Source

RandomPosition<T>(IMapView<T>, T, IGenerator)

Gets a random position in the map view, whose value in that map view is the specified one. Random positions will continually be generated until one with the specified value is found.

Declaration
public static Coord RandomPosition<T>(this IMapView<T> mapView, T validValue, IGenerator rng = null)
Parameters
Type Name Description
IMapView<T> mapView
T validValue

A value to look for in the IMapView to determine whether or not a generated position is valid.

Troschuetz.Random.IGenerator rng

The rng to use. Defaults to DefaultRNG.

Returns
Type Description
Coord

A random position whose value in the current IMapView is equal to the one specified.

Type Parameters
Name Description
T
| Improve this Doc View Source

RandomPosition<T>(IMapView<T>, HashSet<T>, IGenerator)

Gets a random position in the map view, whose value in map view is one of the ones specified in the hash set. Random positions will continually be generated until one that has one of the specified values is found.

Declaration
public static Coord RandomPosition<T>(this IMapView<T> mapView, HashSet<T> validValues, IGenerator rng = null)
Parameters
Type Name Description
IMapView<T> mapView
System.Collections.Generic.HashSet<T> validValues

A set of values to look for in the IMapView to determine whether or not a generated position is valid.

Troschuetz.Random.IGenerator rng

The rng to use. Defaults to DefaultRNG.

Returns
Type Description
Coord

A random position whose value in this IMapView is equal to one of the values specified.

Type Parameters
Name Description
T
| Improve this Doc View Source

RandomPosition<T>(IMapView<T>, IEnumerable<T>, IGenerator)

Gets a random position in the map view, whose value in map view is one of the ones specified. Random positions will continually be generated until one that has one of the specified values is found.

Declaration
public static Coord RandomPosition<T>(this IMapView<T> mapView, IEnumerable<T> validValues, IGenerator rng = null)
Parameters
Type Name Description
IMapView<T> mapView
System.Collections.Generic.IEnumerable<T> validValues

A set of values to look for in the IMapView to determine whether or not a generated position is valid.

Troschuetz.Random.IGenerator rng

The rng to use. Defaults to DefaultRNG.

Returns
Type Description
Coord

A random position whose value in this IMapView is equal to one of the values specified.

Type Parameters
Name Description
T
| Improve this Doc View Source

RandomPosition<T>(IMapView<T>, Func<Coord, T, Boolean>, IGenerator)

Gets a random position in the map view, for which the selector returns true. Random positions will continuously be generated until one that qualifies is found.

Declaration
public static Coord RandomPosition<T>(this IMapView<T> mapView, Func<Coord, T, bool> selector, IGenerator rng = null)
Parameters
Type Name Description
IMapView<T> mapView
System.Func<Coord, T, System.Boolean> selector

Function that takes a position and the value at that position, and returns true if it is an acceptable selection, and false if not.

Troschuetz.Random.IGenerator rng

The rng to use. Defaults toDefaultRNG.

Returns
Type Description
Coord

A random position in the IMapView for which the selector returns true.

Type Parameters
Name Description
T
| Improve this Doc View Source

RandomPosition<T>(IMapView<T>, IGenerator)

Gets a random position within the IMapView.

Declaration
public static Coord RandomPosition<T>(this IMapView<T> mapView, IGenerator rng = null)
Parameters
Type Name Description
IMapView<T> mapView
Troschuetz.Random.IGenerator rng

The rng to use. Defaults to DefaultRNG.

Returns
Type Description
Coord

A random position within the IMapView.

Type Parameters
Name Description
T
| Improve this Doc View Source

RandomPosition<T>(IMapView<T>, IGenerator, T[])

Gets a random position in the map view, whose value in map view is one of the ones specified in validValues. Random positions will continually be generated until one that has one of the specified values is found.

Declaration
public static Coord RandomPosition<T>(this IMapView<T> mapView, IGenerator rng = null, params T[] validValues)
Parameters
Type Name Description
IMapView<T> mapView
Troschuetz.Random.IGenerator rng

The rng to use. Defaults to DefaultRNG.

T[] validValues

A set of values to look for in the IMapView to determine whether or not a generated position is valid.

Returns
Type Description
Coord

A random position whose value in this IMapView is equal to one of the values specified.

Type Parameters
Name Description
T
  • Improve this Doc
  • View Source
Back to top Generated by DocFX