Index
All Classes and Interfaces|All Packages
A
- acquire(int, int) - Method in class com.github.yellowstonegames.seek.DijkstraMap
- AimLimit - Enum Class in com.github.yellowstonegames.seek.technique
-
Enum used for common targeting limitations (or lack thereof, in the case of AimLimit.FREE ).
- ALL - Static variable in enum class com.github.yellowstonegames.seek.technique.AimLimit
-
The cached result of
AimLimit.values(), so you can avoid repeatedly allocatingAimLimit[]objects. - aoe - Variable in class com.github.yellowstonegames.seek.technique.Technique
- AOE - Interface in com.github.yellowstonegames.seek.technique
-
Area of Effect interface meant to be implemented by various specific burst, line, flowing, and user-made AOE types.
- apply(Coord, Coord) - Method in class com.github.yellowstonegames.seek.technique.Technique
-
This does one last validation of the location aimAt (checking that it is within the valid range for this Technique) before getting the area affected by the AOE targeting that cell.
- AreaUtils - Class in com.github.yellowstonegames.seek.technique
-
Static utilities for use in AOE and anything else that might need CoordFloatOrderedMaps.
- AreaUtils() - Constructor for class com.github.yellowstonegames.seek.technique.AreaUtils
- arrayToMap(boolean[][]) - Static method in class com.github.yellowstonegames.seek.technique.AreaUtils
-
This takes a 2D boolean array and returns a CoordFloatOrderedMap, but will only use the value 1.0, and only for positions in map that have as their boolean element true.
- arrayToMap(float[][]) - Static method in class com.github.yellowstonegames.seek.technique.AreaUtils
-
This takes a 2D float array called map and returns a CoordFloatOrderedMap, and will have a key for every position in map that is greater than 0.0, with values equal to those in map.
- arrayToMap(float[][], float) - Static method in class com.github.yellowstonegames.seek.technique.AreaUtils
-
This takes a 2D float array and returns a CoordFloatOrderedMap, but will only use the value 1.0, and only does this if the passed float[][] has a value at that position that is greater than cutoff.
C
- calculate() - Method in class com.github.yellowstonegames.seek.ZoneOfInfluence
-
Finds the zones of influence for each of the influences (inner arrays of Coord) this was constructed with, and returns all zones as a Region array.
- canTarget(Coord, Coord) - Method in class com.github.yellowstonegames.seek.technique.Technique
-
A quick yes-or-no check for whether a
userat a given Coord can use this Technique to target the given Coord of apossibleTarget. - collectionToMap(Collection) - Static method in class com.github.yellowstonegames.seek.technique.AreaUtils
-
This takes a Collection of Coord, such as a Region, and returns a CoordFloatOrderedMap, but will only use the value 1.0, and only for positions in coll.
- com.github.yellowstonegames.seek - package com.github.yellowstonegames.seek
- com.github.yellowstonegames.seek.technique - package com.github.yellowstonegames.seek.technique
- completed - Variable in class com.github.yellowstonegames.seek.ZoneOfInfluence
D
- DIAGONAL - Enum constant in enum class com.github.yellowstonegames.seek.technique.AimLimit
- dijkstra - Variable in class com.github.yellowstonegames.seek.ZoneOfInfluence
- DijkstraMap - Class in com.github.yellowstonegames.seek
-
A group of pathfinding algorithms that explore in all directions equally, and are commonly used when there is more than one valid goal, or when you want a gradient floodfill to mark each cell in an area with its distance from a goal.
- DijkstraMap() - Constructor for class com.github.yellowstonegames.seek.DijkstraMap
-
Construct a DijkstraMap without a level to actually scan.
- DijkstraMap(char[][]) - Constructor for class com.github.yellowstonegames.seek.DijkstraMap
-
Constructor meant to take a char[][] in a simple, classic-roguelike-ish format, where '#' means a wall and anything else (often '.' or ' ') is a walkable tile.
- DijkstraMap(char[][], char) - Constructor for class com.github.yellowstonegames.seek.DijkstraMap
-
Constructor meant to take a char[][] in a simple, classic-roguelike-ish format, where '#' means a wall and anything else (often '.' or ' ') is a walkable tile.
- DijkstraMap(char[][], char, GridMetric) - Constructor for class com.github.yellowstonegames.seek.DijkstraMap
-
Constructor meant to take a char[][] in a simple, classic-roguelike-ish format, where '#' means a wall and anything else (often '.' or ' ') is a walkable tile.
- DijkstraMap(char[][], GridMetric) - Constructor for class com.github.yellowstonegames.seek.DijkstraMap
-
Constructor meant to take a char[][] in a simple, classic-roguelike-ish format, where '#' means a wall and anything else (often '.' or ' ') is a walkable tile.
- DijkstraMap(float[][]) - Constructor for class com.github.yellowstonegames.seek.DijkstraMap
-
Used to construct a DijkstraMap from the output of another.
- DijkstraMap(float[][], GridMetric) - Constructor for class com.github.yellowstonegames.seek.DijkstraMap
-
Used to construct a DijkstraMap from the output of another, specifying a distance calculation.
- dijkstraToHashMap(float[][]) - Static method in class com.github.yellowstonegames.seek.technique.AreaUtils
-
This takes a DijkstraMap that has already completed a scan() and returns a CoordFloatOrderedMap, and will have a key for every position that was reached in the DijkstraMap, with 1.0 as the only value.
E
- EIGHT_WAY - Enum constant in enum class com.github.yellowstonegames.seek.technique.AimLimit
- equals(Object) - Method in class com.github.yellowstonegames.seek.technique.Reach
- equals(Object) - Method in class com.github.yellowstonegames.seek.technique.Threat
F
- findArea() - Method in interface com.github.yellowstonegames.seek.technique.AOE
-
This is how an AOE interacts with anything that uses it.
- findArea() - Method in class com.github.yellowstonegames.seek.technique.PointAOE
- FREE - Enum constant in enum class com.github.yellowstonegames.seek.technique.AimLimit
G
- getCenter() - Method in class com.github.yellowstonegames.seek.technique.PointAOE
- getInfluences() - Method in class com.github.yellowstonegames.seek.ZoneOfInfluence
-
Gets the influencing groups; ideally the result should not be changed without setting it back with setInfluences.
- getLimitType() - Method in interface com.github.yellowstonegames.seek.technique.AOE
-
Gets the AimLimit enum that can be used to restrict points this checks (defaults to null if not set).
- getMaxRange() - Method in interface com.github.yellowstonegames.seek.technique.AOE
-
The maximum inclusive range that the AOE can shift() to using the distance measurement from radiusType.
- getMetric() - Method in interface com.github.yellowstonegames.seek.technique.AOE
-
Used to determine distance from origin for the purposes of selecting a target location that is within the bounds of minRange and maxRange.
- getMinRange() - Method in interface com.github.yellowstonegames.seek.technique.AOE
-
The minimum inclusive range that the AOE can shift() to using the distance measurement from radiusType.
- getOrigin() - Method in interface com.github.yellowstonegames.seek.technique.AOE
-
Get the position from which the AOE originates, which may be related to the location of the AOE's effect, as for lines, cones, and other emitted effects, or may be unrelated except for determining which enemies can be seen or targeted from a given origin point (as for distant effects that radiate from a chosen central point, but have a maxRange at which they can deliver that effect).
- getOrigin() - Method in class com.github.yellowstonegames.seek.technique.PointAOE
- getReach() - Method in interface com.github.yellowstonegames.seek.technique.AOE
-
Gets the same values returned by getLimitType(), getMinRange(), getMaxRange(), and getMetric() bundled into one Reach object.
- getReach() - Method in class com.github.yellowstonegames.seek.technique.PointAOE
-
Gets the same values returned by getLimitType(), getMinRange(), getMaxRange(), and getMetric() bundled into one Reach object.
- groups - Variable in class com.github.yellowstonegames.seek.ZoneOfInfluence
H
- hashCode() - Method in class com.github.yellowstonegames.seek.technique.Reach
- hashCode() - Method in class com.github.yellowstonegames.seek.technique.Threat
I
- idealLocations(Coord, Collection, Collection) - Method in class com.github.yellowstonegames.seek.technique.Technique
-
Get a mapping of Coord keys representing locations to apply this Technique to, to ArrayList of Coord values representing which targets (by their location) are affected by choosing that Coord.
- idealLocations(Coord, Set, Set, Set) - Method in class com.github.yellowstonegames.seek.technique.Technique
-
Get a mapping of Coord keys representing locations to apply this Technique to, to ArrayList of Coord values representing which targets (by their location) are effected by choosing that Coord.
- idealLocations(Collection, Collection) - Method in interface com.github.yellowstonegames.seek.technique.AOE
-
Returns a OrderedMap of Coord keys and ArrayList of Coord values, where each Coord key is an ideal location to hit as many of the Points in targets as possible without hitting any Points in requiredExclusions, and each value is the collection of targets that will be hit if the associated key is used.
- idealLocations(Collection, Collection) - Method in class com.github.yellowstonegames.seek.technique.PointAOE
- idealLocations(Collection, Collection, Collection) - Method in interface com.github.yellowstonegames.seek.technique.AOE
-
A variant of idealLocations that takes two groups of desirable targets, and will rate locations by how many priorityTargets are in the AOE, then by how many lesserTargets are in the AOE, and will only consider locations that do not affect a Coord in requiredExclusions.
- idealLocations(Collection, Collection, Collection) - Method in class com.github.yellowstonegames.seek.technique.PointAOE
- increasing(float[][], Coord[]) - Method in class com.github.yellowstonegames.seek.ZoneOfInfluence
- influences - Variable in class com.github.yellowstonegames.seek.ZoneOfInfluence
L
- limit - Variable in class com.github.yellowstonegames.seek.technique.Reach
-
An AimLimit enum that may be used to determine limitations to targeting cells; defaults to FREE (no limits other than those from distance), but can also be set to ORTHOGONAL (rook move in chess), DIAGONAL (bishop move in chess), EIGHT_WAY (queen or king move in chess), or null (which usually is equivalent to FREE).
M
- map - Variable in class com.github.yellowstonegames.seek.technique.Technique
- maxDistance - Variable in class com.github.yellowstonegames.seek.technique.Reach
-
The maximum distance in cells that this Reach can target.
- mayContainTarget(Collection) - Method in interface com.github.yellowstonegames.seek.technique.AOE
-
Given a Set of Points that the producer of the AOE wants to include in the region of this AOE, this method does a quick approximation to see if there is any possibility that the AOE as currently configured might include one of those Points within itself.
- mayContainTarget(Collection) - Method in class com.github.yellowstonegames.seek.technique.PointAOE
- metric - Variable in class com.github.yellowstonegames.seek.technique.Reach
-
Determines how distance will be measured.
- minDistance - Variable in class com.github.yellowstonegames.seek.technique.Reach
-
The minimum distance in cells that this Reach can target.
N
- name - Variable in class com.github.yellowstonegames.seek.technique.Technique
- nearestInfluences(Coord) - Method in class com.github.yellowstonegames.seek.ZoneOfInfluence
-
This can be given a Coord to check in the results of the latest calculate() call.
- nearestInfluences(Region[], Coord) - Method in class com.github.yellowstonegames.seek.ZoneOfInfluence
-
Given the zones resulting from this class'
ZoneOfInfluence.calculate()method and a Coord to check, finds the indices of all influencing groups in zones that have the Coord in their area, and returns all such indices as a newly-allocatedIntList.
O
- ORTHOGONAL - Enum constant in enum class com.github.yellowstonegames.seek.technique.AimLimit
P
- PointAOE - Class in com.github.yellowstonegames.seek.technique
-
An AOE type that has a center Coord only and only affects that single Coord.
- PointAOE(Coord) - Constructor for class com.github.yellowstonegames.seek.technique.PointAOE
- PointAOE(Coord, int, int) - Constructor for class com.github.yellowstonegames.seek.technique.PointAOE
- position - Variable in class com.github.yellowstonegames.seek.technique.Threat
- possibleTargets(Coord) - Method in class com.github.yellowstonegames.seek.technique.Technique
-
Gets all possible target-able Coords when using this technique from the given Coord
user, returning them in a Region. - possibleTargets(Coord, float[][]) - Method in class com.github.yellowstonegames.seek.technique.Technique
-
Gets all possible target-able Coords when using this technique from the given Coord
user, returning them in a Region.
R
- radius - Variable in class com.github.yellowstonegames.seek.ZoneOfInfluence
- reach - Variable in class com.github.yellowstonegames.seek.technique.Threat
- Reach - Class in com.github.yellowstonegames.seek.technique
-
A struct-like class that holds information about targeting rules for actions or other effects that reach from one square into another one, with certain potential restrictions.
- Reach() - Constructor for class com.github.yellowstonegames.seek.technique.Reach
-
Constructs a Reach with all fields given default values; maxDistance is set to 1, minDistance is set to 0, limit is set to AimLimit.FREE, and metric is set to Radius.SQUARE (8-way movement).
- Reach(int) - Constructor for class com.github.yellowstonegames.seek.technique.Reach
-
Constructs a Reach with the specified maxDistance, to a minimum of 0.
- Reach(int, int) - Constructor for class com.github.yellowstonegames.seek.technique.Reach
-
Constructs a Reach with the specified minDistance, to a minimum of 0, and maxDistance, to a minimum equal to minDistance (after factoring in any change to meet the minimum of 0).
- Reach(int, int, Radius) - Constructor for class com.github.yellowstonegames.seek.technique.Reach
-
Constructs a Reach with the specified minDistance, to a minimum of 0, maxDistance, to a minimum equal to minDistance (after factoring in any change to meet the minimum of 0), and distance calculation metric as a Radius enum.
- Reach(int, int, Radius, AimLimit) - Constructor for class com.github.yellowstonegames.seek.technique.Reach
-
Constructs a Reach with the specified minDistance, to a minimum of 0, maxDistance, to a minimum equal to minDistance (after factoring in any change to meet the minimum of 0), and distance calculation metric as a Radius enum.
S
- setCenter(Coord) - Method in class com.github.yellowstonegames.seek.technique.PointAOE
- setInfluences(Coord[][]) - Method in class com.github.yellowstonegames.seek.ZoneOfInfluence
-
Changes the influencing groups.
- setLimitType(AimLimit) - Method in interface com.github.yellowstonegames.seek.technique.AOE
-
You can use limitType to restrict any Points that might be processed based on the given origin (which will be used as the geometric origin for any calculations this makes) with AimLimit values having the following meanings: AimLimit.FREE makes no restrictions; it is equivalent here to passing null for limit. AimLimit.EIGHT_WAY will only consider Points to be valid targets if they are along a straight line with an angle that is a multiple of 45 degrees, relative to the positive x axis.
- setMap(char[][]) - Method in class com.github.yellowstonegames.seek.technique.Technique
-
VITAL: Call this method before any calls to idealLocations() or apply(), and call it again if the map changes.
- setMap(float[][]) - Method in interface com.github.yellowstonegames.seek.technique.AOE
-
This must be called before any other methods, and takes a float[][] with 1.0 or higher for walls, and anything lower for passable cells.
- setMap(float[][]) - Method in class com.github.yellowstonegames.seek.technique.PointAOE
- setMap(float[][]) - Method in class com.github.yellowstonegames.seek.technique.Technique
-
VITAL: Call this method before any calls to idealLocations() or apply(), and call it again if the map changes.
- setMaxRange(int) - Method in interface com.github.yellowstonegames.seek.technique.AOE
-
The maximum inclusive range that the AOE can shift() to using the distance measurement from radiusType.
- setMetric(Radius) - Method in interface com.github.yellowstonegames.seek.technique.AOE
-
Used to determine distance from origin for the purposes of selecting a target location that is within the bounds of minRange and maxRange.
- setMinRange(int) - Method in interface com.github.yellowstonegames.seek.technique.AOE
-
The minimum inclusive range that the AOE can shift() to using the distance measurement from radiusType.
- setOrigin(Coord) - Method in interface com.github.yellowstonegames.seek.technique.AOE
-
Set the position from which the AOE originates, which may be related to the location of the AOE's effect, as for lines, cones, and other emitted effects, or may be unrelated except for determining which enemies can be seen or targeted from a given origin point (as for distant effects that radiate from a chosen central point, but have a maxRange at which they can deliver that effect).
- setOrigin(Coord) - Method in class com.github.yellowstonegames.seek.technique.PointAOE
- setReach(Reach) - Method in interface com.github.yellowstonegames.seek.technique.AOE
-
Sets the same values as setLimitType(), setMinRange(), setMaxRange(), and setMetric() using one Reach object.
- setReach(Reach) - Method in class com.github.yellowstonegames.seek.technique.PointAOE
-
Sets the same values as setLimitType(), setMinRange(), setMaxRange(), and setMetric() using one Reach object.
- shift(Coord) - Method in interface com.github.yellowstonegames.seek.technique.AOE
-
After an AOE has been constructed, it may need to have the affected area shifted over to a different position without changing any other properties of the AOE.
- shift(Coord) - Method in class com.github.yellowstonegames.seek.technique.PointAOE
T
- Technique - Class in com.github.yellowstonegames.seek.technique
-
A simple struct-like class that stores various public fields which describe the targeting properties of a skill, spell, tech, or any other game-specific term for a targeted (typically offensive) ability we call a Technique.
- Technique() - Constructor for class com.github.yellowstonegames.seek.technique.Technique
-
Creates a Technique that can target any adjacent single Coord, using Chebyshev (8-way square) distance.
- Technique(String) - Constructor for class com.github.yellowstonegames.seek.technique.Technique
-
Creates a Technique that can target any adjacent single Coord, using Chebyshev (8-way square) distance.
- Technique(String, AOE) - Constructor for class com.github.yellowstonegames.seek.technique.Technique
-
Creates a Technique that can target a Coord at a range specified by the given AOE's minRange and maxRange, using a distance metric from the AOE, and use that target Coord for the given AOE.
- Technique(String, Object, AOE) - Constructor for class com.github.yellowstonegames.seek.technique.Technique
-
Creates a Technique that can target a Coord at a range specified by the given AOE's minRange and maxRange, using a distance metric from the AOE, and use that target Coord for the given AOE.
- Threat - Class in com.github.yellowstonegames.seek.technique
-
A small class to store the area that a creature is perceived by other creatures to threaten.
- Threat(Coord, int) - Constructor for class com.github.yellowstonegames.seek.technique.Threat
- Threat(Coord, int, int) - Constructor for class com.github.yellowstonegames.seek.technique.Threat
- Threat(Coord, int, int, Radius) - Constructor for class com.github.yellowstonegames.seek.technique.Threat
- Threat(Coord, int, int, Radius, AimLimit) - Constructor for class com.github.yellowstonegames.seek.technique.Threat
- toString() - Method in class com.github.yellowstonegames.seek.technique.Reach
- toString() - Method in class com.github.yellowstonegames.seek.technique.Threat
U
V
- valueOf(String) - Static method in enum class com.github.yellowstonegames.seek.technique.AimLimit
-
Returns the enum constant of this class with the specified name.
- values() - Static method in enum class com.github.yellowstonegames.seek.technique.AimLimit
-
Returns an array containing the constants of this enum class, in the order they are declared.
- verifyLimit(AimLimit, Coord, Coord) - Static method in class com.github.yellowstonegames.seek.technique.AreaUtils
-
Checks that the given end Coord can be targeted from the given origin Coord given the directional targeting rules specified by limit.
- verifyReach(Reach, Coord, Coord) - Static method in class com.github.yellowstonegames.seek.technique.AreaUtils
-
Checks that the given end Coord can be targeted from the given origin Coord given the complete targeting rules specified by reach.
Z
- ZoneOfInfluence - Class in com.github.yellowstonegames.seek
-
Calculates the Zone of Influence, also known as Zone of Control, for different points on a map.
- ZoneOfInfluence(Coord[][], char[][], GridMetric) - Constructor for class com.github.yellowstonegames.seek.ZoneOfInfluence
-
Constructs a Zone of Influence map.
- ZoneOfInfluence(Coord[], char[][], GridMetric) - Constructor for class com.github.yellowstonegames.seek.ZoneOfInfluence
-
Constructs a Zone of Influence map.
- ZoneOfInfluence(Collection, char[][], GridMetric) - Constructor for class com.github.yellowstonegames.seek.ZoneOfInfluence
-
Constructs a Zone of Influence map.
All Classes and Interfaces|All Packages