All Classes and Interfaces
Class
Description
Adding test achievement to fix broken build
An acid rain event to occur in game affecting both the temperature and the climate and other surrounding
entities.
Task-based AI component.
Cast a ray against all colliders that match the layer mask.
This class listens to events relevant to a chicken entity's state and plays the animation when one
of the events is triggered.
A component responsible for managing animation effects for animal entities in the game.
A component responsible for rendering animation effects using a TextureAtlas.
Renders animations from a texture atlas on an entity.
The AttackPatternComponent is responsible for managing the attack patterns
of entities within the game.
A MusicService that handles playback for long background music files which are streamed from disk.
An enum type to categorise background music files to allow certain themes/genres of
background tracks to be played at chosen times.
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.
Defines a basic set of properties stored in plant entity config files to be
loaded by the PlantFactory.
The BatAttackPattern class defines the attack behavior of a Bat entity in the game.
POJO which contains the custom data attached to each box2D entity.
A component that manages a camera for rendering.
Chases a target entity until they get too far away or line of sight is lost
ClearDebrisQuest is a Quest that monitors and tracks the player clearing debris.
Holds a base location to generate a ShipPartTile at.
A reward that spawns a ShipPartTile and ShipDebris on collection.
An
Achievement
completed by collecting a certain number of itemsAttaches 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.
Used by placeable components to handle connected textures and other functionality that requires a Placeable to
interact dynamically with other Placeable entities.
A ConsumePlayerItemsReward class for when the player completes a
Quest
which should result in a certain number of inventory items to be removed from the inventory.Control menu display and settings.
The game screen for the Controls Screen of the game,
which explains which keys are to be used for different actions in the game
Shows a UI containing the coordinates of this entity's ClueComponent.
Component which stores information about plots of land on which crops and
plants can grow.
Defines the configuration for a crop tile entity to be loaded by the CropTile Factory.
Represents what type if cutscene the cutscene will be
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.
DialogueReward is a Reward that on collect() will call the correct dialogue display with its
given dialogue.
The Dragonfly attack pattern class defines the attack behavior of a Dragonfly entity in the game.
Render a static texture.
A MusicService that handles playback for short (less than or equal to 5s) sound effects that are played from memory.
The display User Interface component for the credits screen
The game screen for the credits
Handles periodic spawning of multiple entities
Core entity class.
A UI component responsible for indicating the direction of an entity which is off-screen
An Entity Reward class for when a player completes a Quest and receives reward entity as a result
Provides a global access point for entities to register themselves.
Handles periodic spawning of one entity
An enum of all the entity types in the game.
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
FertiliseCropTilesQuest class is a Quest that tracks the number of CropTiles have been fertilised.
Wrapper for reading Java objects from JSON files.
Follows a target entity until they get too far away or line of sight is lost
Represents an area in the game, such as a level, indoor area, etc.
Displays the name of the current game area.
the GameMap class is used to store and easily access and manage the components related to the game map
Service that controls the game time
A UI component for displaying the current game time on the Main Game Screen.
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.
A UI component for displaying the current health level on the Main Game Screen.
Physics comp
The HostileAnimationController class is responsible for controlling the animations of a hostile NPC entity.
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.
Represents a component that handles interaction detection with entities
within a specified range.
Display and logic for the intro screen.
A component intended to be used by the player to track their inventory.
An ui component for displaying player stats, e.g.
Factory to create an item
An ItemReward class for when a player completes a Quest and receives reward items as a result
A class used to combine all the data necessary to the individual inventory slots
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 is only for Light Placeables will be moved into that folder when
the rest of my team catches up and finishes their placeables lol
A command for loading the games previous state
The game screen for the losing scenario
The display User Interface component for the losing screen
This class listens to events relevant to the Main Game Screen and does something when one of the
events is triggered.
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.
MainQuests are to represent the 3 main quests of the game as outlined in the storyline wiki.
A
Quest
that requires the player to kill hostiles in order to be completed.A MissionCompleteQuest class for when a quest which is based around completing a number of missions
Renders a UI for interacting with Missions.
An enum storing all possible events that the
MissionManager
's EventHandler
should listen to and
trigger.A movement controller moves something to a given a target.
Move to a given position, finishing when you get close enough.
The entity finds a living plant and moves towards it
The entity finds a ship and moves towards it.
Component that enables animals to drop different items on different triggers.
The MultiReward is a Reward that can be added to a Quest in order to have multiple types
of Reward in one class.
The MusicService interface is implemented by the BackgroundMusicService and the EffectMusicService
Both these classes have similar function definitions, however the implementations of these functions differs
based on the needs of the two types of audio played in the game.
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.
A UI component for displaying the current oxygen level on the Main Game Screen.
The OxygenEater attack pattern class defines the attack behaviour of an OxygenEater entity.
Used to adjust and check oxygen levels.
A
Quest
where the player has to reach a certain oxygen level.A panic task that causes the owner's entity to move randomly within a specified range for a certain duration.
Component which can be added to entities allowing them to have
ParticleEffect
rendering on them and attached
to their body.Wrapper for the particle effect so that pooled effects can have a type and a category
Enum for each type of particle effect known to the particle system
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.
Class to add an Area of Effect to all plants.
PlantCommand class
Handles the events for terminal commands relating to plants.
Class for all plants in the game.
The growth stage of the plant
Defines all plant configs to be loaded by the PlantFactory.
An
Achievement
completed by planting a certain number of crops on crop tiles.Factory to create plant entities.
A UI component for displaying information about a plant.
Keeps track of all info and stats relating to plants.
A
Quest
where the player has to interact with a certain amount of plants.Component for telling the PlantInfoDisplayComponent when the player has their mouse cursor hovering
over a plant.
Component to inform the plant when the player is close enough for plant sounds to be played.
Action component for interacting with the player.
This class listens to events relevant to a player entity's state and plays the animation when one
of the events is triggered.
Defines the properties stored in player config files to be loaded by the Player Factory.
Factory to create a player entity.
Component that renders a highlight on current player cursor position
Is bounded by the maximum "reach" of the player.
Factory for creating the player highlight entity
A ui component for displaying player stats, e.g.
A priority task is a task that also has a priority.
The ProjectileComponent class defines the behavior of a projectile entity in the game.
The ProjectileFactory class is responsible for creating different types of projectile entities
used in the game.
Defines the properties stored in player config files to be loaded by the Questgiver Factory.
The QuestReward can be added as a reward to a quest so that when the quest is complete the collect() method
will add the quests from the constructor to the MissionManager.
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.
The `Reward` class is an abstract class representing an in-game reward which can be collected as a result of
completing an Mission **(v1 only!)** or milestone **(v2 only!)**.
Runs from a target entity until they get too far away or line of sight is lost
A command for saving the games current state
Reading, Writing, and applying user settings in the game.
Stores game state.
Represents a scheduled event with associated information.
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.
the ShipAnimationController
Handles Ship Debris events.
The ShipEaterAttackPattern class defines the attack behavior of a ShipEater entity in the game.
Adds a controllable light source to the player ship.
A tile that drops a ship part on destroy.
Ship features that can be unlocked along by repairing the ship.
A
Quest
where player must repair ship to a certain level.Handles allowing the player to sleep through the night by interacting
with the ship once the repair threshold is reached.
Handles the dropping one item for one entity on a specified trigger and
at a specified rate.
Cast a ray against all colliders that match the layermask.
Represents a heat wave event within the planet's weather system.
A map sorted by the value of key with O(1) iteration.
SpaceDebrisQuest is an extension of ClearDebrisQuest that spawns new debris to be cleared
SpaceGameArea is the area used for the initial game version
A StatReward that when called collect() on adds the specified health to the current player's health stat.
Apply a custom toString() for a class without overriding the class, using a decorator.
A component that manages the stun status of an entity in a game.
This the class for Tameable Component.
A
Quest
where the player must tame animalsAn 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.
A task that runs for a set amount of time (depending on priority).
Display the UI for the toolbar
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.
Almost certain this class does nothing but is needs as when you make a InputController it makes both
May need to be updated later to better match the Keyboard verison.
This way of controlling the animations was adopted from PlayerActions and PlayerAnimationController which
was written by Team 2
A
Reward
for triggering hostiles into the gameTriggerWeatherReward is a Reward that when collected will add the provided WeatherEvents to the ClimateController.
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.
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.
Represents a Weather Event like Acid Shower or Solar Surge.
A
Reward
that will trigger the win screen when collected.The game screen for the winning scenario
The display User Interface component for the winning screen