Package com.csse3200.game.areas
Class GameArea
java.lang.Object
com.csse3200.game.areas.GameArea
- All Implemented Interfaces:
com.badlogic.gdx.utils.Disposable
- Direct Known Subclasses:
LevelGameArea
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 Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract void
create()
Create the game area in the world.protected void
despawnEntity
(Entity entity) void
dispose()
Dispose of all internal entities in the areaGets all entities in this area.void
requestDespawn
(Entity entity) void
setWaveManager
(WaveManager waveManager) Sets the WaveManager reference for disposal trackingprotected void
spawnEntity
(Entity entity) Spawn entity at its current positionspawnRobotAtFloat
(float x, float y) spawnRobotAtFloat
(float x, float y, String robotType) spawnRobotAtTile
(com.badlogic.gdx.math.GridPoint2 cell, boolean centerX, boolean centerY) spawnRobotAtTile
(com.badlogic.gdx.math.GridPoint2 cell, boolean centerX, boolean centerY, String robotType)
-
Field Details
-
areaEntities
-
waveManager
-
-
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 interfacecom.badlogic.gdx.utils.Disposable
-
spawnEntity
Spawn entity at its current position- Parameters:
entity
- Entity (not yet registered)
-
despawnEntity
-
requestDespawn
-
getEntities
Gets all entities in this area.- Returns:
- list of entities in this area
-
spawnRobotAtTile
public Entity spawnRobotAtTile(com.badlogic.gdx.math.GridPoint2 cell, boolean centerX, boolean centerY) -
spawnRobotAtTile
-
spawnRobotAtFloat
-
spawnRobotAtFloat
-
setWaveManager
Sets the WaveManager reference for disposal tracking- Parameters:
waveManager
- the WaveManager instance
-