public class DefenseUtils extends Object
Modifier and Type | Field and Description |
---|---|
static float |
NOT_IN_GRID
A constant that represents a point not in a ship's armor grid.
|
Modifier and Type | Method and Description |
---|---|
static float |
getArmorDamage(ShipAPI ship,
Vector2f loc)
Get the total damage taken by a
ShipAPI 's armor at a location. |
static float |
getArmorLevel(ShipAPI ship,
Vector2f loc)
Get the armor level of a
ShipAPI at a location. |
static float |
getArmorValue(ShipAPI ship,
Vector2f loc)
Get the armor value of a
ShipAPI at a location. |
static DefenseType |
getDefenseAtPoint(ShipAPI ship,
Vector2f loc)
Determine what
DefenseType is present at a specific location
on a ShipAPI . |
static @Nullable Point |
getMostDamagedArmorCell(ShipAPI ship)
Returns the most damaged armor cell on a
ShipAPI , or null
if the ship hasn't taken any armor damage. |
static boolean |
hasArmorDamage(ShipAPI ship)
Checks if a ship has taken any armor damage.
|
static boolean |
hasHullDamage(ShipAPI ship)
Checks if a ship has taken any hull damage.
|
public static final float NOT_IN_GRID
public static float getArmorValue(ShipAPI ship, Vector2f loc)
ShipAPI
at a location. Equivalent
to ArmorGridAPI.getArmorValue(int, int)
, but using
world-space coordinates.ship
- The ShipAPI
whose ArmorGridAPI
we will use.loc
- The world location we will be checking the armor value at.loc
, or
NOT_IN_GRID
if the point isn't within ship
's ArmorGridAPI
.public static float getArmorDamage(ShipAPI ship, Vector2f loc)
ShipAPI
's armor at a location.ship
- The ShipAPI
whose ArmorGridAPI
we will use.loc
- The world location we will be checking the armor damage at.loc
, or
NOT_IN_GRID
if the point isn't within
ship
's ArmorGridAPI
.public static float getArmorLevel(ShipAPI ship, Vector2f loc)
ShipAPI
at a location. Equivalent
to ArmorGridAPI.getArmorFraction(int, int)
, but using
world-space coordinates.ship
- The ShipAPI
whose ArmorGridAPI
we will use.loc
- The world location we will be checking the armor level at.loc
, or
NOT_IN_GRID
if the point isn't within ship
's ArmorGridAPI
.public static DefenseType getDefenseAtPoint(ShipAPI ship, Vector2f loc)
DefenseType
is present at a specific location
on a ShipAPI
. This method will consider points not inside of the
ship's bounds as a miss even if said point is still within the armor
grid.ship
- The ShipAPI
to examine.loc
- The location to check at.DefenseType
present at loc
.public static boolean hasArmorDamage(ShipAPI ship)
ship
- The ShipAPI
to check for armor damage on.true
if ship
has armor damage, false
otherwise.public static boolean hasHullDamage(ShipAPI ship)
ship
- The ShipAPI
to check for hull damage on.true
if ship
has hull damage, false
otherwise.