Class SpriteEntity

All Implemented Interfaces:
InstanceRenderAPI, MaterialRenderAPI, RenderDataAPI

public class SpriteEntity extends BaseMIRenderData
Advanced sprite rendering.

Sprite entity will not apply AA if depth based AA is enabled.

  • Field Details

    • spriteState

      protected final float[] spriteState
    • baseSize

      protected final float[] baseSize
    • currentTileCount

      protected int currentTileCount
    • isRandomTile

      protected boolean isRandomTile
  • Constructor Details

    • SpriteEntity

      public SpriteEntity()
    • SpriteEntity

      public SpriteEntity(com.fs.starfarer.api.graphics.SpriteAPI sprite, boolean syncSpriteUVMapping)
      Parameters:
      sprite - will apply to diffuse layer.
      syncSpriteUVMapping - for the sprite that it local-size is not POT size.
    • SpriteEntity

      public SpriteEntity(com.fs.starfarer.api.graphics.SpriteAPI sprite)
    • SpriteEntity

      public SpriteEntity(String category, String key, boolean syncSpriteUVMapping)
    • SpriteEntity

      public SpriteEntity(String category, String key)
    • SpriteEntity

      public SpriteEntity(String filename, boolean syncSpriteUVMapping)
    • SpriteEntity

      public SpriteEntity(String filename)
  • Method Details

    • _StatePackageStack

      protected int _StatePackageStack()
      Overrides:
      _StatePackageStack in class BaseMIRenderData
    • _resetExc

      protected void _resetExc()
      Overrides:
      _resetExc in class BaseRenderData
    • resetUV

      public void resetUV()
    • getBaseSizePerTiles

      public float[] getBaseSizePerTiles()
    • getBaseWidthPerTiles

      public float getBaseWidthPerTiles()
    • getBaseHeightPerTiles

      public float getBaseHeightPerTiles()
    • setBaseWidthPerTiles

      public void setBaseWidthPerTiles(float widthHalf)
    • setBaseHeightPerTiles

      public void setBaseHeightPerTiles(float heightHalf)
    • setBaseSizePerTiles

      public void setBaseSizePerTiles(float widthHalf, float height)
    • getMaxTileCount

      public int getMaxTileCount()
    • isTilesRendering

      public boolean isTilesRendering()
    • getCurrentTileCount

      public int getCurrentTileCount()
    • setCurrentTileCount

      public void setCurrentTileCount(int count)
    • getCountPerRow

      public int getCountPerRow()
    • getCountPerColumn

      public int getCountPerColumn()
    • getStartingIndex

      public int getStartingIndex()
    • isRandomTile

      public boolean isRandomTile()
    • isRandomTileEachInstance

      public boolean isRandomTileEachInstance()
    • setTileSize

      public void setTileSize(int countPerRow, int countPerColumn)
      Parameters:
      countPerRow - value greater than or equal 1.
      countPerColumn - value greater than or equal 1.
    • setRandomTile

      public void setRandomTile(boolean isRandom)
      Texture parameter should be GL11.GL_REPEAT.
    • setRandomTileEachInstance

      public void setRandomTileEachInstance(boolean random)
      Texture parameter should be GL11.GL_REPEAT.
    • setStartingFormIndex

      public void setStartingFormIndex(int index)
      From bottom-left, line by line.
    • nextTileIndex

      public void nextTileIndex()
    • setDiffuseSprite

      public void setDiffuseSprite(com.fs.starfarer.api.graphics.SpriteAPI sprite)
    • setEmissiveSprite

      public void setEmissiveSprite(com.fs.starfarer.api.graphics.SpriteAPI sprite)
    • setDiffuseSprite

      public void setDiffuseSprite(String category, String key)
    • setEmissiveSprite

      public void setEmissiveSprite(String category, String key)
    • setDiffuseSprite

      public void setDiffuseSprite(String filename)
    • setEmissiveSprite

      public void setEmissiveSprite(String filename)
    • resetDiffuseSprite

      public void resetDiffuseSprite()
    • resetEmissiveSprite

      public void resetEmissiveSprite()
    • getUVStartArray

      public float[] getUVStartArray()
    • getUVStart

      public org.lwjgl.util.vector.Vector2f getUVStart()
    • setUVStart

      public void setUVStart(float x, float y)
    • setUVStart

      public void setUVStart(org.lwjgl.util.vector.Vector2f location)
    • getUVEndArray

      public float[] getUVEndArray()
    • getUVEnd

      public org.lwjgl.util.vector.Vector2f getUVEnd()
    • setUVEnd

      public void setUVEnd(float x, float y)
    • setUVEnd

      public void setUVEnd(org.lwjgl.util.vector.Vector2f location)
    • getCurrentRandomSeedValue

      public float getCurrentRandomSeedValue()
    • setRandomSeedCode

      public void setRandomSeedCode(int code)
      Parameters:
      code - java instance Object.hashCode() * 0.00066667f for default.
    • submitEntityData

      public void submitEntityData()
      Description copied from class: BaseRenderData
      Without matrix data or timer settings.
      Specified by:
      submitEntityData in interface RenderDataAPI
      Overrides:
      submitEntityData in class BaseMIRenderData
    • entityType

      public Object entityType()
      Specified by:
      entityType in interface RenderDataAPI
      Overrides:
      entityType in class BaseRenderData