Class GameArea

java.lang.Object
com.csse3200.game.areas.GameArea
All Implemented Interfaces:
com.badlogic.gdx.utils.Disposable
Direct Known Subclasses:
SpaceGameArea, TestGameArea

public abstract class GameArea extends Object implements com.badlogic.gdx.utils.Disposable
Represents an area in the game, such as a level, indoor area, etc. An area has a terrain and other entities to spawn on that terrain.

Support for enabling/disabling game areas could be added by making this a Component instead.

  • Field Details

  • Constructor Details

    • GameArea

      protected GameArea()
  • Method Details

    • create

      public abstract void create()
      Create the game area in the world.
    • dispose

      public void dispose()
      Dispose of all internal entities in the area
      Specified by:
      dispose in interface com.badlogic.gdx.utils.Disposable
    • spawnEntity

      public void spawnEntity(Entity entity)
      Spawn entity at its current position
      Parameters:
      entity - Entity (not yet registered)
    • deSpawnEntity

      protected void deSpawnEntity(Entity entity)
      de-spawn entity at its current position
      Parameters:
      entity - Entity (not yet registered)
    • spawnEntityAt

      public void spawnEntityAt(Entity entity, com.badlogic.gdx.math.GridPoint2 tilePos, boolean centerX, boolean centerY)
      Spawn entity on a given tile. Requires the terrain to be set first.
      Parameters:
      entity - Entity (not yet registered)
      tilePos - tile position to spawn at
      centerX - true to center entity X on the tile, false to align the bottom left corner
      centerY - true to center entity Y on the tile, false to align the bottom left corner
    • removeEntity

      public void removeEntity(Entity entity)
    • removeLoadableEntities

      public void removeLoadableEntities(com.badlogic.gdx.utils.Array<Entity> entities)
      Loops through the games npcs and removes them. Removes all animals, crop tiles, and plants from the game.
      Parameters:
      entities - Array of entities currently in game.
    • getPlayer

      public Entity getPlayer()
    • setPlayer

      public void setPlayer(Entity customPlayer)
    • getClimateController

      public abstract ClimateController getClimateController()
    • getTractor

      public Entity getTractor()
    • setTractor

      public void setTractor(Entity tractor)
    • getMap

      public abstract GameMap getMap()
    • getAreaEntities

      public List<Entity> getAreaEntities()
    • getLoadableTypes

      public List<EntityType> getLoadableTypes()