Class TerrainComponent

All Implemented Interfaces:
com.badlogic.gdx.utils.Disposable, Renderable, Comparable<Renderable>

public class TerrainComponent extends RenderComponent
Render a tiled terrain for a given tiled map and orientation. A terrain is a map of tiles that shows the 'ground' in the game. Enabling/disabling this component will show/hide the terrain.
  • Constructor Details

    • TerrainComponent

      public TerrainComponent(com.badlogic.gdx.graphics.OrthographicCamera camera, com.badlogic.gdx.maps.tiled.TiledMap map, com.badlogic.gdx.maps.tiled.TiledMapRenderer renderer, TerrainComponent.TerrainOrientation orientation, float tileSize, com.badlogic.gdx.math.GridPoint2 island_size, ArrayList<ArrayList<com.badlogic.gdx.math.GridPoint2>> landTilesList, ArrayList<ArrayList<com.badlogic.gdx.math.GridPoint2>> walls)
  • Method Details

    • tileToWorldPosition

      public com.badlogic.gdx.math.Vector2 tileToWorldPosition(com.badlogic.gdx.math.GridPoint2 tilePos)
    • worldToTilePosition

      public com.badlogic.gdx.math.GridPoint2 worldToTilePosition(float x, float y)
      float x must be world position x - using camera.unproject float y must be world position y - using camera.unproject
    • tileToWorldPosition

      public com.badlogic.gdx.math.Vector2 tileToWorldPosition(int x, int y)
    • getCurrentMapLvl

      public int getCurrentMapLvl()
    • getWalls

      public ArrayList<ArrayList<com.badlogic.gdx.math.GridPoint2>> getWalls()
    • damageSunkenBuildings

      protected void damageSunkenBuildings()
      Damages all buildings that are on water
    • updateUGS

      protected void updateUGS()
      Updates the UGS in response to map state changing: updates each coordinate in the UGS to the new tile type.
    • incrementMapLvl

      public void incrementMapLvl()
      Expands the map by hiding the current layer, and making the next level visible
    • decrementMapLvl

      public void decrementMapLvl()
      Shrinks the map by hiding the current layer, and making the previous level visible.
    • partOfDayPassed

      public void partOfDayPassed(DayNightCycleStatus partOfDay)
      Changes the current map level to the night version when night comes around
      Parameters:
      partOfDay - day night cycle time period
    • getTileSize

      public float getTileSize()
    • getMapBounds

      public com.badlogic.gdx.math.GridPoint2 getMapBounds(int layer)
    • getMap

      public com.badlogic.gdx.maps.tiled.TiledMap getMap()
    • getLandTiles

      public ArrayList<com.badlogic.gdx.math.GridPoint2> getLandTiles()
    • setIslandSize

      public void setIslandSize(int x, int y)
    • getIslandSize

      public com.badlogic.gdx.math.GridPoint2 getIslandSize()
    • draw

      public void draw(com.badlogic.gdx.graphics.g2d.SpriteBatch batch)
      Description copied from class: RenderComponent
      Draw the renderable. Should be called only by the renderer, not manually.
      Specified by:
      draw in class RenderComponent
      Parameters:
      batch - Batch to render to.
    • dispose

      public void dispose()
      Description copied from class: Component
      Called when the component is disposed. Dispose of any internal resources here.
      Specified by:
      dispose in interface com.badlogic.gdx.utils.Disposable
      Overrides:
      dispose in class RenderComponent
    • getTileMapTileLayer

      public com.badlogic.gdx.maps.tiled.TiledMapTileLayer getTileMapTileLayer(int layer)
    • getZIndex

      public float getZIndex()
      Description copied from interface: Renderable
      Z index controls rendering order within a layer. Higher Z index is drawn on top.
      Specified by:
      getZIndex in interface Renderable
      Overrides:
      getZIndex in class RenderComponent
      Returns:
      Z index
    • getLayer

      public int getLayer()
      Description copied from interface: Renderable
      Layer to be rendered in. Higher layers will be rendered on top of lower layers.
      Specified by:
      getLayer in interface Renderable
      Overrides:
      getLayer in class RenderComponent
      Returns:
      layer