All Classes and Interfaces
Class
Description
A class that makes enemies move horizontally in a constant speed.
Task-based AI component.
A class that makes enemies move vertically in a constant speed.
Cast a ray against all colliders that match the layer mask.
Renders animations from a texture atlas on an entity.
Atlantis game area for creating the map the game is played in
Factory for creating game terrain.
Defines the barracks properties stored in config file to be loaded by the Building Factory.
Defines a basic set of properties stored in entities config files to be loaded by Entity Factories.
Defines the Black Smith properties stored in config file to be loaded by the Building Factory.
POJO which contains the custom data attached to each box2D entity.
Action component for interacting with a building.
Component to handle building animations, this component
simply listens to events and plays animation associated
with events called.
Defines all building configs to be loaded by the Building Factory.
Factory to create a building entity with predefined components.
Component that sets the buildings health state.
When this entity touches a valid enemy's bullet, deal damage to them and destroy the bullet.
Chases a target entity until they get too far away or line of sight is lost
Attaches a physics collider to an entity.
Component used to store information related to combat such as health, attack, etc.
A generic command class.
Core component class from which all components inherit.
Internal type system for components.
Coordinates represent a cartesian point on the map and are used to assist in processing
data in the dynamic generation of the map
A command for toggling debug mode on and off.
Provides functionality to draw lines/shapes to the screen for debug purposes.
A default task implementation that stores the associated entity and updates status when
starting/stopping a task.
Represents all actions bound to a dialogue box
Represents a Dialogue Box to be displayed randomly
Some buildings face different direction, as such they will
have animation in different directions, this component
accounts for these cases and handles animations and states
just for these buildings.
This class listens to events relevant to enemy entity's state and plays the animation when one
of the events is triggered.
Defines all NPC configs to be loaded by the NPC Factory.
Factory to create non-playable character (NPC) entities with predefined components.
AI task to handle enemy movement
Core entity class.
Enumeration used to represent compass direction of
enemy entities.
Used to keep record of the position that moving units such as enemies, friendlies
and workers, it uses an EnemyDirection enumeration class for each compass direction
and EnemyDirection.DEFAULT which is only set upon initialising the class, this to stop
avoid using null for direction when component is first initialised.
Provides a global access point for entities to register themselves.
Send and receive events between objects.
An event listener which is notified when events occur.
An event listener with 0 arguments
An event listener with 1 argument
An event listener with 2 arguments
An event listener with 3 arguments
An event listener with 4 arguments
Defines the farm properties stored in config file to be loaded by the Building Factory.
Wrapper for reading Java objects from JSON files.
Forest area for the demo game with trees, a player, and some enemies.
Component to indicate that this Entity is friendly - used by the gate to
distinguish friendly entities.
Represents an area in the game, such as a level, indoor area, etc.
Displays the name of the current game area.
A global event handler for the game, this can be used to invoke events that trigger
functions dependent on access to objects in the game area, for example, spawning
units and buildings.
Controls the game time
Entry point of the non-platform-specific game logic.
This class listens to events relevant to a ghost entity's state and plays the animation when one
of the events is triggered.
Defines the properties stored in ghost king config files to be loaded by the NPC Factory.
Contains additional utility constants and functions for common GridPoint2 operations.
The Health Bar Component can be added to entities
This component will display the health under the entity
The health is specified by the combat stats component
Render a static texture.
Physics comp
An InputComponent that supports keyboard and touch input and touch gestures.
Generic class to wrap an InputProcessor so that it acts like an InputComponent.
InputFactory creates inputType-specific inputFactories which can handle various types of input.
Input device types
Provides a global access point for handling user input and creating input handlers.
A component intended to be used by the player to track their inventory.
A job system provides a general-purpose way to run multi-threaded code.
KeyboardInputFactory creates input handlers that process keyboard and touch support.
Input handler for the player for keyboard and touch (mouse) input.
Input handler for the debug terminal for keyboard and touch (mouse) input.
Defines the Library properties stored in config file to be loaded by the Building Factory.
This class listens to events relevant to the Main Game Screen and does something when one of the
events is triggered.
Displays a button to exit the Main Game screen to the Main Menu screen.
The game screen containing the main game.
This class listens to events relevant to the Main Menu Screen and does something when one of the
events is triggered.
A ui component for displaying the Main menu.
The game screen containing the main menu.
If entity has a MapComponent they are added to the map.
MapGenerator builds a procedurally generated map of desired mapWidth, mapHeight, including
an island of islandSize width containing a city of citySize square length.
Stores all game entity positions.
A movement controller moves something to a given a target.
Move to a given position, finishing when you get close enough.
Factory to create obstacle entities.
Generates paths between buildings using a blind search algorithm.
This class listens to events relevant to the Pause Menu overlay and does something when one of the
events is triggered.
A ui component for displaying the Pause menu.
Displays performance stats about the game for debugging purposes.
Lets an entity be controlled by physics.
Box2D collision events fire globally on the physics world, not per-object.
Process game physics using the Box2D library.
Movement controller for a physics-based entity.
Provides a global access point to the physics engine.
Action component for interacting with the player.
Defines the properties stored in player config files to be loaded by the Player Factory.
A ui component for displaying player stats, e.g.
A priority task is a task that also has a priority.
This class provides an API for seeding Pseduo-Generated Random features.
Class used to spawn a random point within a certain range of the city center
Attacks a target entity when it gets close to the enemy.
Stores information about a raycast hit.
Can be rendered onto the screen given a Sprite batch.
A generic component for rendering an entity.
Core rendering system for the game.
Globally accessible service for registering renderable components.
Defines the properties stored in player config files to be loaded by the Player Factory.
A UI component for displaying the current game resource count
TODO: integrate with UnitInventoryComponent
Responsible for the procedural placement of a static collection of resources around the game map
Service for loading resources, e.g.
Used to set a precise selection hitbox on an Entity with a TextureRenderComponent
A simplified implementation of the Service Locator pattern:
https://martinfowler.com/articles/injection.html#UsingAServiceLocator
Settings menu display and logic.
The game screen containing the settings.
Adds shop spending and trading functionality.
Cast a ray against all colliders that match the layermask.
A map sorted by the value of key with O(1) iteration.
A ui component for displaying the Main menu.
A ui component for displaying the Main menu.
The game screen containing the main game.
Apply a custom toString() for a class without overriding the class, using a decorator.
An AI task can be started and stopped at any time.
State tracker for a debug terminal.
A ui component for displaying the debug terminal.
Render a tiled terrain for a given tiled map and orientation.
Factory for creating game terrain.
This enum should contain the different terrains in your game, e.g.
Custom terrain tile implementation for tiled map terrain that stores additional properties we
may want to have in the game, such as audio, walking speed, traversability by AI, etc.
A very simple component that stores refernece to the buildings
texture, this is used by the building UI to display an image
of the UI, if the building uses an atlas file rather than
a texture
Render a static texture.
When this entity touches a valid enemy's hitbox, deal damage to them and apply a knockback.
Input handler for the player for keyboard and touch (mouse) input.
Input handler for the debug terminal for keyboard and touch (mouse) input.
Defines the town hall properties stored in config file to be loaded by
the Building Factory.
Allows us to make use of an entity that contains other entities
A ui component for handling tutorial actions
TODO: integrate with actions
A ui component for displaying the Main menu.
The game screen containing the tutorial game.
A generic component for rendering onto the ui.
There are stationary buildings (trebuchet)
in the game that change their sprite depending
on what direction their target is in, this
component implements similar direction detection
as PhysicsMovementComponent, but for stationary
entities.
Reading, Writing, and applying user settings in the game.
Stores chosen display settings.
Stores game settings, can be serialised/deserialised.
Contains additional utility constants and functions for common Vector2 operations.
Task that does nothing other than waiting for a given time.
Defines the wall properties stored in config file to be loaded by the Building Factory.
Wander around by moving a random position within a range of the starting position.
Creates a base at which a worker can deposit resources
Defines the properties stored in player config files to be loaded by the Player Factory.
Factory to create a worker entity
Input handler for selecting, un-selecting and moving worker units
A component intended to be used by the player to track their unit's inventory.