All Classes and Interfaces
Class
Description
Task-based AI component.
Cast a ray against all colliders that match the layer mask.
Renders animations from a texture atlas on an entity.
Defines all enemy configs to be loaded by the Enemy Factory.
Defines a basic set of properties stored in entities config files to be loaded by Entity Factories.
Defines all tower configs to be loaded by the Tower Factory.
POJO which contains the custom data attached to each box2D entity.
This class listens to events relevant to the SHip entity's state and plays the animation when one
of the events is triggered.
The AI Task for the Engineer entity.
Defines the properties stored in Bombship config files to be loaded by the Bombship Factory.
Factory to create non-playable human character (NPC) entities with predefined components.
Move the ship entity to a given position, finishing when you get close enough.
Task that does nothing other than waiting for a given time.
BombshipWanderTask is the entry point for the engineer entity's behaviour.
This class listens to events relevant to a ghost entity's state and plays the animation when one
of the events is triggered.
This class listens to events relevant to a ghost entity's state and plays the animation when one
of the events is triggered.
Input component for handling in-game tower building.
This class provides static methods for creating various types of TextButtons with different styles.
Chases a target entity until they get too far away or line of sight is lost
Depreciated.
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.
Component used to store information related to cost.
A UI component for displaying the currency owned
The CurrencyTask updates the in-game currency based on time intervals.
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.
A component that deflects incoming projectiles a set amount of projectile
collision events.
Entities with this component will self destruct after hitting the grid edge
upon collision.
The AI Task for the demon boss entity.
A component that adds a dodging event listener to the current attached
entity.
This class listens to events relevant to a ghost entity's state and plays the animation when one
of the events is triggered.
This class listens to events relevant to DroidTower entity's state and plays the animation when one
of the events is triggered.
The DroidCombatTask runs the AI for the DroidTower class.
Defines a basic set of properties stored in entities config files to be loaded by Entity Factories.
Listens for events relevant to a weapon tower state.
This component applies an effect from the ProjectileEffects enum.
The AI Task for the Engineer entity.
Defines the basic set of properties for an Engineer entity to be loaded by EngineerFactory
Defines the properties stored in Engineer config files to be loaded by the Engineer Factory.
Factory to create non-playable human character (NPC) entities with predefined components.
Core entity class.
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
Wrapper for reading Java objects from JSON files.
Wander around by moving a random position within a range of the starting position.
Listens for events relevant to a weapon tower state.
The FireTowerCombatTask runs the AI for the FireTower class.
This class listens to events relevant to DroidTower entity's state and plays the animation when one
of the events is triggered.
The FireworksTowerCombatTask runs the AI for the FireworksTower class.
This class listens to events relevant to a ghost entity's state and plays the animation when one
of the events is triggered.
Forest area for the demo game with trees, a player, and some enemies.
Represents an area in the game, such as a level, indoor area, etc.
Displays the name of the current game area.
The
GameLevelData
class is responsible for managing the selected game level.Controls the game time
Factory to create scanner entities that determine whether to spawn engineer entities.
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.
Physics comp
Listens for events relevant to a Human character (Just engineers at this stage)
Each event will trigger a certain animation
Move a human entity to a given position, finishing when you get close enough.
Task that does nothing other than waiting for a given time.
HumanWanderTask is the entry point for the engineer entity's behaviour.
Defines a basic set of properties stored in entities config files to be loaded by Entity Factories.
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.
The game screen where you can choose a planet to play on.
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.
Displays a button to exit the Main Game screen to the Main Menu screen.
Displays a button to pause the game and bring up a pause menu.
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.
The game screen containing the main menu.
Provides services related to map functionalities such as tiles and lanes in genral.
Melee is a Weapon which has a minimum range to be used at
damage: the damage of the weapon
attackRange: the minimum range of the weapon (target must be less than or equal to this distance away)
element: the element of the weapon (fire, water, earth, air, etc)
castTime: the time it takes to cast the weapon
cooldown: the time it takes to be used again
Task that allows mobs to shoot projectiles or melee attack towers
Defines the properties stored in ghost king config files to be loaded by the NPC Factory.
Task that prints a message to the terminal whenever it is called.
Where all entities of mob bosses are created
Task that prints a message to the terminal whenever it is called.
This task runs the AI that adds a dodge mechanic/functionality for the mobs
in the MobsFactory.
Task that allows mobs to shoot projectiles or melee attack towers
Task that allows mobs to shoot projectiles or melee attack towers
Task that allows mobs to shoot projectiles or melee attack towers
Wander around by moving a random position within a range of the starting position.
A movement controller moves something to a given a target.
Move to a given position, finishing when you get close enough.
Defines all NPC configs to be loaded by the NPC Factory.
Factory to create non-playable character (NPC) entities with predefined components.
Factory to create obstacle entities.
Patrick boss task that controls the boss' sequence and actions based on a predetermined sequence
and the boss' current hp
Displays a button in the pause menu to resume the game and put away the pause menu.
Factory to create the pause menu and attach its components.
Displays a button in the pause menu to return to the main menu screen.
Displays a button in the pause menu to return to the planet select screen.
Displays a button in the pause menu to open the game settings.
Handles the pausing/resuming of time when the pause menu is brought up/put away.
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.
Listens to triggers phrases and executes the required animations.
The PierceTowerCombatTask runs the AI for the PierceTower class.
Action component for interacting with the player.
Defines the properties stored in player config files to be loaded by the Player Factory.
Factory to create a player entity.
A ui component for displaying player stats, e.g.
Input handler for the player for keyboard and touch (mouse) input.
A priority task is a task that also has a priority.
Configuration for projectiles.
Responsible for destroying projectiles within the game
Responsible for creating projectiles within the game.
Wander around by moving a random position within a range of the starting position.
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.
Service for loading resources, e.g.
Ricochet based on target layers.
This class listens to events relevant to DroidTower entity's state and plays the animation when one
of the events is triggered.
The RicochetTowerCombatTask runs the AI for the RicochetTower class.
ScannerTask implements the behaviour of GapScannerEntities that detect the
conditions to trigger engineer spawning, i.e., No towers, no engineers, mobs within
a certain distance.
This specific entity will self-destruct after the collisionEnd
event if the targetLayer matches.
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.
Task that prints a message to the terminal whenever it is called.
Cast a ray against all colliders that match the layermask.
This class listens to events relevant to a ghost entity's state and plays the animation when one
of the events is triggered.
A map sorted by the value of key with O(1) iteration.
A component that splits the projectile into multiple mini projectiles.
A component that splits the target mob entity into multiple entities after
after the mob dies.
Screen that displays a story with images and text.
Apply a custom toString() for a class without overriding the class, using a decorator.
Listens to triggers phrases and executes the required animations.
The StunTowerCombatTask runs the AI for the StunTower class.
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 terrains.
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.
Render a static texture.
This class listens to events relevant to TNTTower entity's state and plays the animation when one
of the events is triggered.
Class responsible for applying damage and knock-back to nearby entities when triggered.
The TNTTowerCombatTask runs the AI for the TNTTower class.
Defines a basic set of properties stored in entities config files to be loaded by Entity Factories.
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.
Listens for events relevant to a weapon tower state.
The TowerCombatTask runs the AI for the WeaponTower class.
Factory to create a tower entity.
Listens for an event from the popup menu to upgrade
the turret entity this component is attached to.
Trajects a projectile from an entity towards the enemy entities
This class represent a tuple of a String and an int which when used represent
a mob name and health.
A generic component for rendering onto the ui.
Displays a button to represent the remaining mobs left in the current wave and a button to skip to the next wave.
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.
Listens for events relevant to a weapon tower state.
Defines a basic set of properties stored in entities config files to be loaded by Entity Factories.
The FireworksTowerCombatTask runs the AI for the FireworksTower class.
This class listens to events relevant to a ghost entity's state and plays the animation when one
of the events is triggered.
This class listens to events relevant to a ghost entity's state and plays the animation when one
of the events is triggered.
Projectiles and Melee are to implement this interface to be used as weapons
Defines a basic set of properties stored in entities config files to be loaded by Entity Factories.
This class listens to events relevant to a ghost entity's state and plays the animation when one
of the events is triggered.
This class listens to events relevant to a ghost entity's state and plays the animation when one
of the events is triggered.