Class BaseTiledTerrain
java.lang.Object
com.fs.starfarer.api.impl.campaign.terrain.BaseTerrain
com.fs.starfarer.api.impl.campaign.terrain.BaseTiledTerrain
- All Implemented Interfaces:
CampaignTerrainPlugin
- Direct Known Subclasses:
HyperspaceTerrainPlugin
,NebulaTerrainPlugin
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected float
protected SpriteAPI
protected BaseTiledTerrain.TileParams
protected BaseTiledTerrain.TileSample[][]
protected int
protected String
protected SpriteAPI
protected int[][]
protected long
Fields inherited from class com.fs.starfarer.api.impl.campaign.terrain.BaseTerrain
entity, EXTRA_SOUND_RADIUS, name, TERRAIN_LOCK_KEY, terrainId
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
advance
(float amount) boolean
containsEntity
(SectorEntityToken other) boolean
containsPoint
(org.lwjgl.util.vector.Vector2f test, float r) static int[][]
decodeTiles
(String string, int w, int h) static String
encodeTiles
(int[][] tiles) void
protected float
float
getMaxEffectRadius
(org.lwjgl.util.vector.Vector2f locFrom) Mainly intended for AI use.float
getMinEffectRadius
(org.lwjgl.util.vector.Vector2f locFrom) Mainly intended for AI use.int
float
getOptimalEffectRadius
(org.lwjgl.util.vector.Vector2f locFrom) Mainly intended for AI use.float
abstract Color
float
How far away from the viewport the center of this entity can be before it stops being rendered.float[]
getTileCenter
(int i, int j) abstract float
abstract float
int[][]
getTiles()
abstract float
void
init
(String terrainId, SectorEntityToken entity, Object param) boolean
isTileVisible
(int i, int j) boolean
static void
abstract void
preMapRender
(float alphaMult) abstract void
preRender
(CampaignEngineLayers layer, float alphaMult) protected void
void
render
(CampaignEngineLayers layer, ViewportAPI v) void
renderOnMap
(float factor, float alphaMult) First pass.void
renderOnMapAbove
(float factor, float alphaMult) Second pass.protected void
renderQuad
(int i, int j, float x, float y, float width, float height, float texX, float texY, float texW, float texH, float angle) protected void
renderSubArea
(float startColumn, float endColumn, float startRow, float endRow, float factor, int samples, float alphaMult) static byte[]
static String
toHexString
(byte[] array) void
updateSampleCache
(int samples, boolean force) Methods inherited from class com.fs.starfarer.api.impl.campaign.terrain.BaseTerrain
applyEffect, canPlayerHoldStationIn, createCombatSection, createFirstSection, createTooltip, createTravelSection, getActiveLayers, getEffectCategory, getEntity, getIconSpriteName, getLoopFourPitch, getLoopFourVolume, getLoopOnePitch, getLoopOneVolume, getLoopThreePitch, getLoopThreeVolume, getLoopTwoPitch, getLoopTwoVolume, getModId, getNameAOrAn, getNameColor, getNameForTooltip, getRelatedEntity, getSpec, getTerrainId, getTerrainName, getTooltipWidth, hasAIFlag, hasAIFlag, hasMapIcon, hasTooltip, isPreventedFromAffecting, isTooltipExpandable, preventOtherTerrainFromAffecting, preventOtherTerrainFromAffecting, renderOnRadar, setEntity, setTerrainId, setTerrainName, shouldCheckFleetsToApplyEffect, shouldPlayLoopFour, shouldPlayLoopOne, shouldPlayLoopThree, shouldPlayLoopTwo, stacksWithSelf
-
Field Details
-
params
-
texture
-
mapTexture
-
tiles
protected transient int[][] tiles -
tileSeed
protected long tileSeed -
savedTiles
-
sampleCache
-
samplesForCache
protected transient int samplesForCache -
elapsed
protected float elapsed
-
-
Constructor Details
-
BaseTiledTerrain
public BaseTiledTerrain()
-
-
Method Details
-
init
- Specified by:
init
in interfaceCampaignTerrainPlugin
- Overrides:
init
in classBaseTerrain
-
regenTiles
protected void regenTiles() -
getTiles
public int[][] getTiles() -
getParams
-
containsEntity
- Specified by:
containsEntity
in interfaceCampaignTerrainPlugin
- Overrides:
containsEntity
in classBaseTerrain
-
containsPoint
public boolean containsPoint(org.lwjgl.util.vector.Vector2f test, float r) - Specified by:
containsPoint
in interfaceCampaignTerrainPlugin
- Overrides:
containsPoint
in classBaseTerrain
-
getTileSize
public abstract float getTileSize() -
getTileRenderSize
public abstract float getTileRenderSize() -
getTileContainsSize
public abstract float getTileContainsSize() -
preRender
-
preMapRender
public abstract void preMapRender(float alphaMult) -
getRenderColor
-
getRenderRange
public float getRenderRange()Description copied from interface:CampaignTerrainPlugin
How far away from the viewport the center of this entity can be before it stops being rendered. Should at least be the radius of the entity; sometimes more may be necessary depending on the visual effect desired.- Specified by:
getRenderRange
in interfaceCampaignTerrainPlugin
- Overrides:
getRenderRange
in classBaseTerrain
- Returns:
-
render
- Specified by:
render
in interfaceCampaignTerrainPlugin
- Overrides:
render
in classBaseTerrain
-
isTileVisible
public boolean isTileVisible(int i, int j) -
renderOnMap
public void renderOnMap(float factor, float alphaMult) Description copied from interface:CampaignTerrainPlugin
First pass.- Specified by:
renderOnMap
in interfaceCampaignTerrainPlugin
- Overrides:
renderOnMap
in classBaseTerrain
- Parameters:
factor
- conversion factor from world coordinates to map screen coordinates, including current zoom level.
-
getNumMapSamples
public int getNumMapSamples() -
renderOnMapAbove
public void renderOnMapAbove(float factor, float alphaMult) Description copied from interface:CampaignTerrainPlugin
Second pass.- Specified by:
renderOnMapAbove
in interfaceCampaignTerrainPlugin
- Overrides:
renderOnMapAbove
in classBaseTerrain
- Parameters:
factor
- conversion factor from world coordinates to map screen coordinates, including current zoom level.
-
getTileCenter
public float[] getTileCenter(int i, int j) -
isUseSampleCache
public boolean isUseSampleCache() -
forceClearSampleCache
public void forceClearSampleCache() -
updateSampleCache
public void updateSampleCache(int samples, boolean force) -
renderSubArea
protected void renderSubArea(float startColumn, float endColumn, float startRow, float endRow, float factor, int samples, float alphaMult) -
advance
public void advance(float amount) - Specified by:
advance
in interfaceCampaignTerrainPlugin
- Overrides:
advance
in classBaseTerrain
-
renderQuad
protected void renderQuad(int i, int j, float x, float y, float width, float height, float texX, float texY, float texW, float texH, float angle) -
getMaxEffectRadius
public float getMaxEffectRadius(org.lwjgl.util.vector.Vector2f locFrom) Description copied from interface:CampaignTerrainPlugin
Mainly intended for AI use.- Specified by:
getMaxEffectRadius
in interfaceCampaignTerrainPlugin
- Overrides:
getMaxEffectRadius
in classBaseTerrain
- Returns:
-
getMinEffectRadius
public float getMinEffectRadius(org.lwjgl.util.vector.Vector2f locFrom) Description copied from interface:CampaignTerrainPlugin
Mainly intended for AI use.- Specified by:
getMinEffectRadius
in interfaceCampaignTerrainPlugin
- Overrides:
getMinEffectRadius
in classBaseTerrain
- Returns:
-
getOptimalEffectRadius
public float getOptimalEffectRadius(org.lwjgl.util.vector.Vector2f locFrom) Description copied from interface:CampaignTerrainPlugin
Mainly intended for AI use.- Specified by:
getOptimalEffectRadius
in interfaceCampaignTerrainPlugin
- Overrides:
getOptimalEffectRadius
in classBaseTerrain
- Returns:
-
getExtraSoundRadius
protected float getExtraSoundRadius()- Overrides:
getExtraSoundRadius
in classBaseTerrain
-
getProximitySoundFactor
public float getProximitySoundFactor()- Overrides:
getProximitySoundFactor
in classBaseTerrain
-
encodeTiles
-
decodeTiles
- Throws:
DataFormatException
-
toHexString
-
toByteArray
-
main
- Throws:
DataFormatException
-