All Classes and Interfaces

Class
Description
 
Task-based AI component.
Cast a ray against all colliders that match the layer mask.
AnimatedScene class represents one animated scene for a cutscene.
Renders animations from a texture atlas on an entity.
BackgroundRenderComponent is a specialized component for rendering background textures.
Specific cutscene class handling the backstory of the game.
The BadEndCutscene class plays the bad end cutscene when triggered at the end of the game
 
Defines a basic set of properties stored in entities config files to be loaded by Entity Factories.
A component used to display interaction key tooltips for a basket station component.
This class is responsible for creating benches in the game.
Utility class for creating benches
Class for managing bench layouts
A component used to display interaction key tooltips for a bin station component.
POJO which contains the custom data attached to each box2D entity.
 
Chases a target entity until they get too far away or line of sight is lost
The CheckWinLoseComponent is responsible for determining if a player has won or lost the game.
The ChopIngredientComponent handles the chopping process for an ingredient in the game.
Defines the properties stored in ChopIngredient config files to be loaded by the Ingredient Factory.
A component used to display the inventory of a chopping board station, as well as interaction key tooltips for the station.
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.
Displays a confirmation dialog asking if the user wants to start the tutorial.
 
Defines the properties stored in cooking config files to be loaded by the Dish Factory.
A component used to display the inventory of a cooking station, as well as interaction key tooltips for the station.
The CookIngredientComponent handles the cooking process for an ingredient in the game.
Defines the properties stored in CookIngredient config files to be loaded by the Ingredient Factory.
 
 
 
 
Finds the closest customer entity within a range of the player.
Represents a cutscene in the game.
Handles user actions during cutscenes.
Manages a cutscene area in the game.
 
A factory class for creating entities used in cutscenes, such as backgrounds and animations.
The CutsceneScreen class represents the screen used during cutscenes in the game.
The CutsceneScreenDisplay class manages the user interface for displaying cutscenes, including text display, buttons to advance or exit the cutscene, and handling user input.
CutsceneTextDisplay handles displaying scrolling text during a cutscene.
The DancePartyUpgrade class represents an upgrade that, when activated, triggers a "Dancing" which causes current dockets within the game to pause Their time, within the MainGameOrderTicketDisplay
 
 
 
The DayNightService class manages the day-night cycle within the game.
A command for toggling debug mode on and off.
Provides functionality to draw lines/shapes to the screen for debug purposes.
The Decision class represents a moral decision with a statement, whether it is good or bad, and associated decision points.
A default task implementation that stores the associated entity and updates status when starting/stopping a task.
Factory to create a cooking entity with predefined components.
UI component class for displaying a docketImage and changing its appearance depending on time remaining.
A UI component for displaying the Docket Pin Line.
 
Service class that manages docket-related events in the game.
 
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
Manages the Extortion Upgrade component, allowing players to receive extra gold per customer
Wrapper for reading Java objects from JSON files.
 
Give the player a fire extinguisher when they interact with it
 
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.
Displays the background for the main game area.
 
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.
Component that manages the positions of ghosts and handles their movement to available spots.
 
The GoodEndCutscene class plays the good end cutscene when triggered at the end of the game.
Contains additional utility constants and functions for common GridPoint2 operations.
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.
Class to register interactable objects to and to call when the player attempts to interact with them.
A physics component that detects a collision with an interactable object
The IntroCutscene class represents a specific cutscene that plays at the start of the game.
A generic inventory component that is used to keep track of stored items for an entity
A UI component used to display slots of an InventoryComponent and the items they hold.
A component that display's the items in an entity's InventoryComponent as images hovering above the entity.
 
 
ItemTexturePathGetter is a static class whose only purpose is to return the correct texture path of an item based on its type and depending on its state will return the correct picture.
TimerComponent.java Timer component used for item cooking and chopping.
 
A job system provides a general-purpose way to run multi-threaded code.
Displays Keybindings button
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.
 
 
 
Allows for global access and control of the game levels
This class listens to events relevant to the Load game Screen and does something when one of the events is triggered.
 
 
Manages the Loan Upgrade component, allowing players to take a loan to receive additional gold under certain conditions.
The IntroCutscene class represents a specific cutscene that plays at the start of the game.
Actions on the main game
Displays a button to exit the Main Game screen to the Main Menu screen.
Displays a button on the main game screen that allows players to create a new order.
Displays order tickets on the main game 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.
Background for the main menu.
An ui component for displaying the Main menu.
The game screen containing the main menu.
Map type returned by the Maplayout class when loading in a map Contains a list of benches and stations
Class to load the map layout from a text file
 
A component used to display the inventory of a mixing bench station, as well as interaction key tooltips for the station.
 
 
 
 
 
The MoralDecision class manages a list of moral decisions and tracks the current morality score.
 
 
Represents an enumeration of moral values.
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.
This class listens to key presses to shift dockets left and right and handles order-related actions in the game.
 
 
This class listens to events relevant to the Main Game Screen and does something when the button on the Pause Menu is clicked.
Display the Pause Menu when pausing the game
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.
 
PlateComponent manages everything about plates state of plate, item on plate, availability of plate, pickup status of plate servable status of plate, stacked status of plate, stackPlateArray to store id of plates in a stacked plates plate id (for single plates) and quantity of plates in a stack
2 possible states of plates
 
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 class that handles updating the player sprite to display what the player is currently holding in their hand.
Player trigger events
AN ui component for displaying player stats, e.g.
A priority task is a task that also has a priority.
Manages the Rage Upgrade UI component, handling activation, deactivation, visual updates, and related sound effects.
The RandomComboService class is responsible for managing and activating random upgrades within the game.
 
Stores information about a raycast hit.
Get recipe data from any station
 
 
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.
 
The Scene class represents an individual scene within a cutscene.
Represents a scheduled event with associated information.
 
Finds the closest interactable object inside a range of the player's position.
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.
A command for spawning recipes into the players inventory.
This class listens to events relevant to a ghost entity's state and plays the animation when one of the events is triggered.
Manages the Speed Boots Upgrade UI component, handling activation, deactivation, visual updates, and related sound effects.
StatonAcceptableItemsConfig Config class to read the station item json file from.
StationAcceptableItems is a class used to both load and retrieve items from recipie.json to determine if an item is allowed within a station or not.
 
StationBinComponent.java StationBinComponent throughs away an item
StationChoppingComponent.java This class controls the chopping of items within a station.
StationCollectionComponent.java StationCollectionComponentAllows for items to be collected from a station.
StationCookingComponent.java This class controls the cooking of items within a station.
 
An abstract component that displays the items in an a station's InventoryComponent as images hovering above the entity.
 
 
A component used for a station entity that displays a progress bar indicating the chop/cook percentage of the item held in the station.
StationServingComponent.java StationServingComponent gives the station the ability to submit a meal to be able to be served to a customer.
Apply a custom toString() for a class without overriding the class, using a decorator.
A component used to display interaction key tooltips for a submission station component.
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.
The UIComponent to create textbox which are drawn to the bottom of the screen
Displays a dialog asking the user to name a save file and confirms the input.
Render a static texture.
This class listens to key presses to shift dockets left and right and handles order-related actions in the game.
A UI component for displaying tooltips when the player is near an interactable object.
 
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.
Chases a target entity until they get too far away or line of sight is lost
The game screen containing the tutorial.
Displays tutorial-related UI components and manages tutorial flow using textDisplay.
A generic component for rendering onto the UI.
Creates new UI
An Upgrade that activate the specific upgrade name when it is called and deactivate after reaches time limit
A UI component for displaying and interacting with the upgrades menu in the game.
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.
Wander around by moving a random position within a range of the starting position.