All Classes and Interfaces

Class
Description
An extension of current projectile functionality based in Entity, so that it's trajectory and flight path are affected during runtime.
The different type of behaviours ActiveProjectiles can take
Task-based AI component.
Cast a ray against all colliders that match the layer mask.
 
An Image that plays a frame-by-frame animation built from a sequence of textures stored under the game assets folder.
Renders animations from a texture atlas on an entity.
An Effect that applies multiple inner effects to all valid entities within a certain radius of a central entity.
Keyboard input using ARROW KEYS for movement while preserving all gameplay actions (jump, crouch, sprint, dash, inventory, mouse attack/shoot).
AttackProtectionCounterComponent
AttackProtectionDisplay (always gray) - listens to "updateHealth" - each health drop: bar -= 1/6 - after 6 hits: wait 2s then restore to full - positioned directly under BossStatusDisplay with the same width visual only
Configurable, shared end-of-run screen for both Victory and Defeated outcomes.
Defines a basic set of properties stored in entities config files to be loaded by Entity Factories.
Abstract base for screen/overlay UI components.
 
 
 
Micro BK-tree for fuzzy lookup (Levenshtein distance).
 
 
POJO which contains the custom data attached to each box2D entity.
 
 
 
Switch boss animation by HP ratio (3 stages: idle / phase2 / angry).
A component that switches Boss-3's rendering from a static PNG
 
 
Chases a target entity until they get too far away or go above
Plays a one-shot explosion animation when the owning Boss entity dies, then disposes the temporary effect entity and the Boss entity itself safely.
Trigger for the boss's defense phase (one-time).
A factory class for creating Boss and NPC entities for the game.
 
Boss's fury form
 
Boss health bar
Component for a breakable platform that shakes, fades, and disappears after a player steps on it.
 
Handles menu button sound clicks
 
Represents a purchasable catalog entry in the in-game shop.
Provides access to a collection of CatalogEntry objects.
Chases a target entity until they get too far away or line of sight is lost
Cocoon Spawner Component - Spawns white cocoons when Boss health drops to 30% Works together with existing BossDefenseComponent for invulnerability Only handles cocoon spawning and tracking, not Boss defense state
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 representing a consumable item that can apply one or more Effects to an entity when used.
 
Factory class responsible for creating consumable items in the game.
 
Component responsible for handling the usage of consumable items.
Service for managing a countdown timer in a game.
 
A command for toggling boosted outgoing weapon damage (cheat code).
Adds a damage reduction component while activated, reduces the "determined damage" by a certain percentage (1 = complete immunity) over a specified duration.
Chases a target entity indefinitely and the entity being visible causes a speed increase
Spawns a one-shot explosion particle animation when the attached enemy dies.
Screen shown when the player is defeated.
A command for toggling debug mode on and off.
Provides functionality to draw lines/shapes to the screen for debug purposes.
Defines the properties stored in ghost GPT config files to be loaded by the NPC Factory.
A default task implementation that stores the associated entity and updates status when starting/stopping a task.
Difficulty class that should be registered in ServiceLocator and computes the float ready to be input into NPC Factory when spawning enemies in rooms
A ui component for displaying the Main menu.
 
Enum containing the different difficulties and a respective float scaler that should define the increase of difficulty.
A command for toggling whether a player takes damage.
A simple door trigger that runs a callback when the player collides with it.
 
Cheat command to toggle the door-unlock override on all doors.
A render component specifically for doors that ensures they are rendered on top of floor assets.
Base class for all gameplay effects that can be applied to entities.
Elevator room: minimal walls and two doors (left--Office, right--Research).
A command for switching to the Win Screen or other end screens.
Awards the player processor when the enemy dies.
 
Tech projectile attack for Boss3.
Enemy mud projectile: Moves in a straight line with a set lifetime, and automatically destroys itself when the lifetime expires.
Circular mud spray (fires `count` projectiles evenly around a circle).
Enemy projectile damage (with detailed logging): - Handles collisions from (Fixture, Fixture) / (Entity, Entity) / mixed inputs.
Projectile straight-line movement + lifetime control.
Handles spawning enemies over multiple waves.
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.
 
 
 
Simple UI label showing the current floor name.
This is the room that holds the Flying Boss.
A playable “Forest” style room.
Represents an area in the game, such as a level, indoor area, etc.
Camera bounds helper.
Displays the name of the current game area.
Controls the game time
Entry point of the non-platform-specific game logic.
 
Helper for setting up minimal generic rooms (terrain, overlay, walls, doors, player).
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 GPT config files to be loaded by the NPC Factory.
Defines the properties stored in ghost king config files to be loaded by the NPC Factory.
Chases a target entity indefinitely and the entity being visible causes a speed increase CAN have added functionality to launch projectiles at the player too if wanted.
Ground fast-chase for GhostGPT: drive X only; Box2D gravity/collisions control Y.
Ground slow-chase for GhostGPT: set X only; Box2D gravity handles Y.
Chases a target entity indefinitely and the entity being visible causes a speed increase
Contains additional utility constants and functions for common GridPoint2 operations.
Defines the properties stored in ghost GPT config files to be loaded by the NPC Factory.
 
 
An Effect that modifies an entity's health by applying damage or healing.
 
Physics comp
Individual Cocoon Component - Handles behavior for individual cocoon entities Cocoons are regular enemies that can be damaged and destroyed normally When destroyed, they notify the Boss defense system via death events
A command for toggling whether a player can infinitely dash
A command for toggling whether a player has infinite jumps
A command for toggling whether a player uses stamina
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.
Manages updating a player's inventory after an event (e.g., item purchase).
 
 
Utility factory class for creating item entities in the game.
A component that makes an item follow the player at a given offset.
A component that makes an item follow the player at a given offset.
Component that allows an entity to pick up items when in proximity.
Popup screen which displays information about a shop item
Sets up item spawn configurations for different maps To add items for a new map make a new method like FOREST_MAP
Spawns items in the game area based on a provided configuration.
It holds the information needed to spawn an item
 
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.
Factory class for creating keycard entities used in gated access gameplay.
A gate that requires a specific keycard level to pass through.
 
 
 
 
Configuration for the lightsaber weapon
Gives an attack buff to the entity when used.
Stores and manages a given weapon's magazine information
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.
Room 5 with its own background styling.
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.
 
 
let the missle down by the y direction
Spawns random ground warnings at a fixed cooldown; after a short warning time, a missile is spawned above that position and falls straight down.
A movement controller moves something to a given a target.
Move to a given position, finishing when you get close enough.
This is the room that holds the Ground Moving Boss Boss.
Handles background music for the menu
Builds a neon, rounded button style for Scene2D.
Defines all NPC configs to be loaded by the NPC Factory.
Factory to create non-playable character (NPC) entities with predefined components.
Builds common static props and triggers used by the level (trees, floors, desks, crates, etc.).
Office room: minimal walls and two doors (left--Security, right--Elevator).
Pause menu overlay shown above the main game and HUD.
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.
Movement controller for a projectile entity
Provides a global access point to the physics engine.
 
A command for toggling whether a player can pick up items in the world at once.
 
Component that handles all player actions including movement, jumping, sprinting, dashing, crouching, attacking, and shooting.
Controls player animations by listening to relevant events and updating the AnimationRenderComponent accordingly.
Defines the properties stored in player config files to be loaded by the Player Factory.
A component that makes an item follow the player at a given offset.
Factory to create a player entity.
The UI component of the inventory.
A ui component for displaying player stats, e.g.
 
 
A priority task is a task that also has a priority.
Defines all projectile configs to be loaded by the projectile Factory.
 
Factory to projectile entities with predefined components.
A class containing methods that allow entities to fire projectiles essentially, in a variety of ways.
Different instances of projectiles represented as enums, used in ProjectileLauncherComponent to understand which projectile it should fire.
Represents the type of target a projectile can be aimed at.
Represents possible errors that can occur during a purchase event.
Represents the outcome of a purchase attempt in the shop system.
Compressed (radix) trie with per-node cached top-5 completions.
 
Component responsible for handling ranged item usage (e.g., guns, bombs).
 
 
 
Stores information about a raycast hit.
Second floor with different background and arrow-key controls.
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.
Research room: futuristic laboratory with desks, pods, microscopes, and screens.
Service for loading resources, e.g.
 
 
save load service that will extract all information about the current game state and will add it to save file to be loaded.
mock game state to store entities.
Minimal generic Security room: walls, doors, and a subtle background overlay.
Server Room.
A simplified implementation of the Service Locator pattern: https://martinfowler.com/articles/injection.html#UsingAServiceLocator
Settings menu display and logic.
 
The "Shipping" area of the game map.
 
 
Press 0 near a shop (entity with ShopComponent) to trigger "interact".
Handles shop-related operations such as validating purchases, charging players, and updating their inventories.
Screen which displays the shop screen.
Cast a ray against all colliders that match the layermask.
Render a solid color rectangle using a 1x1 texture scaled to the entity size.
A map sorted by the value of key with O(1) iteration.
Sound handler for entities.
 
 
This is the room that holds the static Boss.
 
The "Storage" area of the game map.
 
Apply a custom toString() for a class without overriding the class, using a decorator.
Component which can be used to assign a "tag" to an entity, thus allowing its category to be identified eg.
An AI task can be started and stopped at any time.
 
 
Teleport the player to the center of the map.
 
 
Render a tiled terrain for a given tiled map and orientation.
 
Factory for creating game terrains.
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.
Render a static texture, with optional fade (alpha).
An extension of the TextureRenderComponent, which allows rotation of your textures.
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.
Tunnel room: minimal walls with left door back to Server Room.
Defines the properties stored in ghost GPT config files to be loaded by the NPC Factory.
Immutable description of an animated tutorial clip composed of sequential PNG frames.
Screen shown for tutorial system.
UI component that displays the multi-step Tutorial screen.
Represents a single page in the Tutorial flow.
A generic component for rendering onto the ui.
 
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.
Defines the properties stored in ghost king config files to be loaded by the NPC Factory.
Makes Vroomba behave like a suicide bomber: - When within triggerRadius of the player, start a short fuse.
Task that does nothing other than waiting for a given time.
Wander around by moving a random position within a range of the starting position.
Starts enemy waves in the current ForestGameArea.
 
 
Factory to create non-playable character (NPC) entities with predefined components.
Component used to store weapon-related combat statistics such as attack damage, cooldown, upgrade stages, and cheat modifiers.
Screen shown when the player achieves victory.