From db78763b67a75be924cf6940258b026ba962cfe0 Mon Sep 17 00:00:00 2001 From: UnavailableDev Date: Mon, 3 Apr 2023 10:05:19 +0200 Subject: shop statemachine --- src/GameLoop/shop.h | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'src/GameLoop/shop.h') diff --git a/src/GameLoop/shop.h b/src/GameLoop/shop.h index 4014f58..5cd6b53 100644 --- a/src/GameLoop/shop.h +++ b/src/GameLoop/shop.h @@ -7,10 +7,26 @@ #include typedef enum { - hh_e_STATE_SHOW, - hh_e_STATE_Input, - hh_e_STATE_END + hh_e_shop_init, + hh_e_shop_main, + hh_e_shop_end } hh_e_ShopStates; +/** @brief amount of upgrade types */ +#define HH_SHOP_UPG_COUNT 2 +/** @brief count of visible upgrades in shop */ +#define HH_SHOP_UPG_DISPLAY 4 +/** @brief all possible upgrades */ +typedef enum { + hh_e_UPG_JUMP, + hh_e_UPG_HEALTH +} hh_e_upgrades; + +/** @brief init */ +void hh_shop_init(hh_e_upgrades* in); +/** @brief deals with displayed entity rendering */ +void hh_shop_display(uint8_t selected, hh_e_upgrades* upgrades); +/** @brief moves 'cursor' through selection field */ +void hh_shift_selected(uint8_t* pos, bool dir, uint8_t min, uint8_t max); bool hh_show_Shop(); -- cgit v1.2.3