State

State is a model that represents the current state of the game.

UnlockedPlates - number of plates that are available for the user. Max is four, and the minimum is two.
UnlockedStoves - number of stoves that are available for the user. Max is four, and the minimum is two.
UnlockedBarStands - number of bar stands for the beers that are available for the user. Max is three, and the minimum is one.
UnlockedStewStand - number of stew stands that are available for the user. By default, it's two.
UnlockedBreadStand - number of bread stands that are available for the user. By default, it's three.

Plates - an array of Product enum values that represent a table in the game. Basically, which dish the user has on each plate.
Beers - an array of Product enum values that represent a bar in the game. Basically, which drink the user has on the bar stand.
Stews - an array of Product enum values that represent stews in the game.
Breads - an array of Product enum values that represent bread stands in the game.
Stoves - an array of Product enum values that represent stoves in the game. It displays which dish(product) the user has on a certain stove.

StoveStates - it's the array that represents in what state each dish on the stove is.

Cooking - its array of floats that represent how much time the dish(product) is placed on the stove.

Baking, Brewing, and Boling - float variables that represent how much time is product accordingly. The user can observe these variables on green progress bars.

Level - current mission.
Coins - the number of coins that the user earned in the current mission.
Hearts - number of heards(lives) in current mission.
Coins in Account - number of coins that the user gained through all game.

AvailableProducts - flag enum with products available to the user

Orders - a list of orders states that represent customers and their tasks(orders) in the tavern

Order - the same order as in the config, literally a copy of it
Waiting - time that the customer waited in the tavern
Delivered - an array of booleans that represent the order(task) is delivered

The user is allowed to upgrade products, so we saved the current product value in the state.

CompletedOrders - the list of order IDs that were delivered.
FailedOrders - list of order IDs that the user failed to deliver.
FailedOrdersAnimations - list of order IDs that the user failed to deliver, used only for animations
DisplayMissionDonePopup - a boolean variable used to identify whether is game should display the done popup
DisplayMissionFailPopup - a boolean variable used to identify whether is game should display the fail popup