aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui.h')
-rw-r--r--src/ui.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/ui.h b/src/ui.h
index 9d3f999..b5089a3 100644
--- a/src/ui.h
+++ b/src/ui.h
@@ -1,11 +1,13 @@
#include "utils.h"
#include "entity.h"
+#include "assets.h"
#include "world.h"
#ifndef UI_H
#define UI_H
#define INTERACTION_COLUMN_MAX 80
+#define INVENTORY_MAX 10
typedef char InteractionItems[INTERACTION_MENU_MAX][INTERACTION_LABEL_MAX];
@@ -28,6 +30,19 @@ typedef struct {
EntityId entityId;
} InteractionMenu;
+typedef struct {
+ EntityId id;
+ AssetId texture;
+ int count;
+} InventoryItem;
+
+typedef struct {
+ Rectangle rect;
+ bool visable;
+ InventoryItem items[INVENTORY_MAX];
+ int itemCount;
+} Inventory;
+
// Interaction chat procedures.
void initInteractionChat(InteractionChat* chat, const Settings* settings);
void showInteractionChat(InteractionChat* chat);
@@ -49,4 +64,11 @@ void showInteractionMenu(InteractionMenu* menu);
void hideInteractionMenu(InteractionMenu* menu);
void updateInteractionMenu(InteractionMenu* menu, Game* game);
+// Inventory
+void initInventory(Inventory* inventory);
+void showInventory(Inventory* inventory);
+void hideInventory(Inventory* inventory);
+void addItemToInventory(Inventory* inventory, InventoryItem item);
+void updateInventory(Inventory* inventory);
+
#endif