-
Notifications
You must be signed in to change notification settings - Fork 2
Station Component Overview
As per the entity component system, a single station entity contains many different components that provide functionality for each different station. Broadly components for stations were developed on, the need for cooking stations, chopping stations, a collection station, and a submission station. These general station types form the development of all of the different components and shape the design of them.
In general, the components that provide the necessary functionality between the station and the player are the StationItemHandlerComponent used for cooking and chopping stations, or the IngredientStationHandlerComponent used by stations which items can be collected from.
Additionally, components to facilate cooking, chopping, combining and collecting items are added to the station. These interactions can be further explained in the Processing Stations page
As for combining meals together, that can be further discussed in the combining stations page
Other stations not described in these buckets will be described in the miscellaneous stations page. For now this covers the fire extinguisher station and the bin station.
Functionality to provide animations to the stations also exits in the form of the Station Animation Controller.
The UML here shows the relationships each of the components in the station overview, as well as relevant components from the Ingredient Stations, Processing Stations and Combining Stations.
This is where interaction with the station & items will work, and is used in all the station components. The handler handles the manipulation & tracking items within stations, as well as identifying the type of station and keeping track of the allowed ingredients for a given station.
Further functionality which is unique to the type of station will be covered in their corresponding seperated component code which can be seen in the code samples below.
IngredientStationHandlerComponent is similar to StationItemHandlerComponent in that is enables the interaction between that player and the station entity. Like the item handler component this handles the manipulation and tracking of items within stations, as well as keeping track of the type of station it is. This components publically available methods are handleInteraction()
, stationGiveItem()
, and getType()
. In the order written, these implement the logic for handling item interaction, take the item from the station and return it to the player, and return the type of the station to the caller. Presently, the station simply generates a list of items from an internal list, however, the plan is to implement a list of items that can be received from a specific station, however, that was not within scope from the current sprint.
StationCollectionComponent acts as a component which enables the player to collect items from a station. This component only has one method which is collectItem()
this method acts as a layer between the station and the item factory, enabling the creation of new items into the game so that orders can be created. Again this component acts as a layer between that station and the player.
Inventory System
Scoring System
Food Recipes
Level System
Player Actions
Ordering System
Stations
Items
Map Design
Customers
Pause Menu
Upgrades
End of Day Display
Day Night Cycle
Moral System
Debug Terminal
Game Interactions Tutorial
Backstory Cutscenes
Entities and Components
Input Handling
Game Screens and Areas
Fire Extinguisher Handler Component
MainGameActions Create Docket Triggers
Main Game Order Button Display
BackstoryCutsceneDisplay Test Plan
Test Plan for MainGameOrderTicketDisplay
Test Plan for MainGameOrderBtnDisplay
Test Plan for DocketLineDisplay
Test plan for RandomComboService
Test plan for SpeedBoostUpgrade
Test plan for DancePartyUpgrade