All Classes and Interfaces

Class
Description
A class that represents an achievement.
Extends TextButton to store what type of achievement the button is representing
 
Creates a fresh list of game achievements
Service for handling the loading, updating and saving of game achievements
Base achievement display class to be extended by achievement type screens
Builds and displays an achievement widget that is displayed momentarily when a player makes a new achievement in the game.
Progressbar used to show completion of achievements
Represents each type of achievement in the game each type can have many achievements
Task-based AI component.
Cast a ray against all colliders that match the layer mask.
This class listens to events relevant to a main player entity's state and plays the animation when one of the events is triggered.
Renders animations from a texture atlas on an entity.
 
 
 
 
Entry point of the non-platform-specific game logic.
 
Defines a basic set of properties stored in entities config files to be loaded by Entity Factories.
Defines a basic set of properties stored in entities config files to be loaded by Entity Factories.
POJO which contains the custom data attached to each box2D entity.
 
 
 
 
 
the caretaker object records and stores the player state into the internal memory for the engine to retrieve in the future A combination of singleton and memento design pattern, which allows memento to be retrieved from anywhere in the game and restrict it to only having one instance, hence preventing duplication of memento and allows better management
Chases a target entity until they get too far away or line of sight is lost
Attaches a physics collider to an entity.
class containing collision effects defined by the CollisionEffect enum Entities implementing this must also implement ColliderComponent, PhysicsComponent and EnvironmentalComponent To make the effect AoE, a hitboxcomponent must also be added (change the size of hitboxcomponent to change AoE) At this stage, only speed is supported as an AoE effect By default, collision effects impact both players and NPCs.
Collision effect
Effect target
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.
Continuous attack component - melee enemies will attack non-enemy attackable objects periodically while colliding with them
 
Defines the properties stored in crystal config files to be loaded by the Crystal Factory.
Factory to create crystal entity.
 
Defines a Clock UI element that displays the current phase of the day/night cycle
This class is responsible for shading the game screen when invoked in RendererService
Defines a set of properties stored in config file to be loaded by the Day Night Cycle Service.
Service for managing the Day and Night cycle of the game.
Having ENUM for defining status of cycle
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.
 
Component that applies affects to enemies tagged with the ENEMY enum type Some affects include regen on enemies, speed buffs and attack/damage buffs
 
Defines the properties stored in enemy config files to be loaded by the NPC Factory.
Core entity class.
Classification System for NPC to be used by EffectsNearBY and other releated checking of entity types
Types of entities
Provides a global access point for entities to register themselves.
Helper Class that stores entities on the map and checks collisions when given a new entity Used for placing environmental objects such as trees, rocks and buildings plus additional utility like finding closet entity to a point or retrieving a list of all environmental entities
Universal component used for environmental objects.
Enum containing the associate values for the environmental component An environmental component has: resourceType: The type of resource resourceValue: The number of resources to be returned associated with resource type E.g A cobweb has resourceValue = 0, speedModifier = 0.6 indicating zero resources will be given when broken and when a player walks through it, their speed is reduced by 40%
Types of resources
 
 
 
Abstract Artefact class used to create diffrent child artefact types
 
 
 
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.
 
This class listens to events relevant to the story line Screen and does something when one of the events is triggered.
An ui component for displaying the storyline.
 
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.
Controls the game time
Contains additional utility constants and functions for common GridPoint2 operations.
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.
 
 
Renders the entities health bar.
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.
 
 
 
 
 
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.
 
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.
task that gets enemies to avoid obstacles.
Stats for Melee Boss enemy
Chases a target entity regardless of distance or line of sight.
the object that is maintaining the state of the originator.
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.
 
Provides a global access point for NPC entities to register themselves.
Factory to create obstacle entities.
 
Part of the memento design pattern, originator is the object to store the states of the player, this includes the player's inventory states (e.g.
 
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.
Factory to create a player entity.
A ui component for displaying player stats, e.g.
A priority task is a task that also has a priority.
 
 
An ui component for displaying the storyline.
 
 
 
Chases a target entity until they get too far away or line of sight is lost
 
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.
Graphic utilities to help with rendering
Resource building is a type of building used to generate resources for the player
Defines all structure configs to be loaded by the Structure Factory.
Factory to create structure entities with predefined components.
Component used to store information related to the cost of different structures: gold, stone etc.
Manages automatic resource generation for resource buildings (stone quarries and wood cutters)
Service for loading resources, e.g.
 
Class that handles all save game mechanics
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.
 
 
 
 
 
 
Cast a ray against all colliders that match the layermask.
A map sorted by the value of key with O(1) iteration.
 
Input handler for the storyline UI for keyboard input.
Apply a custom toString() for a class without overriding the class, using a decorator.
Defines all structure configs to be loaded by the Structure Factory.
Factory to create structure entities with predefined components.
Provides a global access point for entities to register themselves.
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.
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.
 
Class representing a 'Tile' in the game world.
When this entity touches a valid enemy's hitbox, deal damage to them and apply a knockback.
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.
When this entity touches a valid enemy's hitbox, deal damage to them and apply a knockback.
 
Provides a global access point for entities to register themselves to the UGS.
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.
Tuple for passing the values of environmental objects
Contains additional utility constants and functions for common Vector2 operations.
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.