Skip to content

Combining Stations

serenemccormack edited this page Oct 17, 2024 · 7 revisions

These are relating to stations where items are being combined, for example those containing the StationMealComponent and how that works. Multiple items can be processed on these stations, compared to the Processing Stations. Further information on how each system works as well as a visual walk through can be seen in the Station Inventory and Visualisation wiki page.

Station Meal Component

Sequence Diagram:

Here you can see the process done when using rotating and combining interactions on a combining station.

Your image description

Overview:

StationMealComponent is based on the structure of StationItemHandlerComponent, adapted to store more than 1 item in the station inventory due to the current set of defined recipes and allow customised meal creation with the correct items added. The player is able to place ingredients, and receive either meal items or the original ingredient items, as well as choose a number of interactions with the inventory of items.

If the player chooses to 'chop' on the station, nothing occurs. If the player chooses to place an item on the station, the current player item is removed from the player and placed in the station inventory. This can be visualised by the InventoryDisplayHoverComponent. If the player chooses to 'rotate' the items in the inventory to select a different item for removal, this is completed and visualised by the InventoryDisplayHoverComponent.

If the player chooses to 'combine' on the station and there is a PlateComponent on the station, a valid meal is created with the required items on the station and returned into the station inventory, on the condition that the items on the station create a valid meal (as defined in the recipes.json file). See below for an example of the ingredients of a valid meal, and note the presence of the 'combine' interaction (verified by the station logic).

Screenshot from 2024-10-17 14-21-51

Table of Contents

Home

Team Design Document

Game Features

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

Game

Getting Started

Entities and Components

World Backstory

Service Locator

Loading Resources

Logging

Unit Testing

Debug Terminal

Input Handling

UI

Animations

Audio

AI

Physics

Game Screens and Areas

Terrain

Concurrency & Threading

Settings

Map Design

Test Plans

Sensor Component

Customer Sensor Component

Interaction Component

Inventory Component

Inventory Display

Station Meal Component

Station Progress Display

Keyboard Input Component

Fire Extinguisher Handler Component

Score System

HoverBox Component

MainGameActions Create Docket Triggers

End Day Display Component

Cutscene Area

Docket

Docket Line Display

Docket Meal Display

Main Game Order Button Display

Order Actions

Recipe

Ticket Details Component

BackstoryCutscene Test Plan

BackstoryCutsceneDisplay Test Plan

Test Plan for Tutorial

Keybinds

Keybinds Test Plan

Test Plan for MainGameOrderTicketDisplay

Test Plan for MainGameOrderBtnDisplay

Test Plan for Docket

Test Plan for DocketLineDisplay

Test Plan for OrderActions

Ticket Details

Test plan for RandomComboService

Test plan for LoanUpgrade

Test plan for UpgradesDisplay

Test plan for RageUpgrade

Test plan for SpeedBoostUpgrade

Test plan for DancePartyUpgrade

Test plan for ExtortionUpgrade

Troubleshooting

MacOS Setup Guide

Clone this wiki locally