Proper build UI

This commit is contained in:
2024-01-23 16:54:39 +01:00
parent f3acb1a0a3
commit b6e54a7fcb
9 changed files with 110 additions and 30 deletions

View File

@@ -4,6 +4,7 @@
#include "../input.h"
#include "../map_init.h"
#include "../ui_widgets.h"
#include "../buildings.h"
void drawGameUI(Game *game, f32 dt) {
// UI
@@ -37,15 +38,15 @@ void drawGameUI(Game *game, f32 dt) {
});
BzTileset *tileset = &game->tileset;
Rectangle woodRec = bzTilesetGetTileRegion(tileset, getEntityTile(ENTITY_WOOD));
Rectangle stoneRec = bzTilesetGetTileRegion(tileset, getEntityTile(ENTITY_STONE));
Rectangle foodRec = bzTilesetGetTileRegion(tileset, getEntityTile(ENTITY_APPLE));
Rectangle goldRec = bzTilesetGetTileRegion(tileset, getEntityTile(ENTITY_GOLD));
Rectangle popRec = bzTilesetGetTileRegion(tileset, getEntityTile(ENTITY_POP));
uiGameResCount(100, -1, woodRec, tileset->tiles);
uiGameResCount(100, -1, stoneRec, tileset->tiles);
uiGameResCount(100, -1, foodRec, tileset->tiles);
uiGameResCount(250, -1, goldRec, tileset->tiles);
uiGameResCount(1, 10, popRec, tileset->tiles);
PlayerResources resources = game->playerResources[game->player];
uiGameResCount(resources.wood, -1, woodRec, tileset->tiles);
uiGameResCount(resources.food, -1, foodRec, tileset->tiles);
uiGameResCount(resources.gold, -1, goldRec, tileset->tiles);
uiGameResCount(resources.pop, resources.popCapacity, popRec, tileset->tiles);
bzUIPopParent(UI);
@@ -97,7 +98,11 @@ void drawGameUI(Game *game, f32 dt) {
rec.height *= sizeY;
Texture2D tex = tileset->tiles;
bool selected = input->building == buildingOrder[i];
uiGameBuild(buildingNames[i], rec, tex, &selected);
PlayerResources *res = &game->playerResources[game->player];
bool canAfford = canAffordBuilding(buildingType, *res);
uiGameBuild(buildingNames[i], rec, tex, canAfford, &selected);
if (!canAfford)
selected = false;
if (selected) {
input->building = buildingOrder[i];
input->state = INPUT_BUILDING;