Consume pop capacity + evade AI boiler plate

This commit is contained in:
2024-01-23 21:43:58 +01:00
parent 07d1852fb9
commit 0423a962df
14 changed files with 125 additions and 28 deletions

View File

@@ -29,7 +29,7 @@ BzUINode *uiPushDivParentPercentage(f32 xPercent, f32 yPercent) {
});
}
void uiBaseLabel(const char *txt, Font font, f32 scl) {
void uiBaseLabel(const char *txt, Font font, f32 scl, Color color) {
BzUINode *node = bzUINodeMake(UI, bzUIKeyFromString(txt), &(BzUINodeDesc) {
.flags = BZ_UI_DRAW_TEXT | BZ_UI_DRAW_TEXT_SHADOW | BZ_UI_ALIGN_CENTER,
.semanticSize[BZ_UI_AXIS_X] = {
@@ -45,9 +45,9 @@ void uiBaseLabel(const char *txt, Font font, f32 scl) {
.font = font,
.fontSpacing = 2 * uiGetScale() * scl,
.fontSize = 62 * uiGetScale() * scl,
.normal = WHITE,
.hover = WHITE,
.active = WHITE,
.normal = color,
.hover = color,
.active = color,
});
bzUISetTextShadowStyle(UI, node, (BzUITextShadowStyle) {
.offset[BZ_UI_AXIS_X] = 2 * uiGetScale() * scl,
@@ -158,7 +158,7 @@ void uiBaseSlider(const char *txt, Font font, f32 scl, f32 *value, f32 min, f32
BZ_UI_FLEX_DIR_ROW | BZ_UI_FLEX_ALIGN_CENTER | BZ_UI_FLEX_JUSTIFY_SPACE_BETWEEN
});
uiBaseLabel(txt, font, 0.6 * scl);
uiBaseLabel(txt, font, 0.6 * scl, WHITE);
bzUIPushDiv(UI, (BzUISize) {BZ_UI_SIZE_CHILD_SUM}, (BzUISize) { BZ_UI_SIZE_CHILD_MAX});
bzUISetParentLayout(UI, (BzUILayout) {
@@ -173,7 +173,7 @@ void uiBaseSlider(const char *txt, Font font, f32 scl, f32 *value, f32 min, f32
*value = BZ_MAX(*value, min);
snprintf(buf, sizeof(buf), "%2.0f##%s", *value, txt);
uiBaseLabel(buf, font, 0.6 * scl);
uiBaseLabel(buf, font, 0.6 * scl, WHITE);
snprintf(buf, sizeof(buf), "+##%s", txt);
if (uiBaseTextButton(buf, font, 0.6 * scl))
@@ -185,7 +185,7 @@ void uiBaseSlider(const char *txt, Font font, f32 scl, f32 *value, f32 min, f32
}
void uiMainMenuLabel(const char *txt) {
uiBaseLabel(txt, getFont(), 1.8f);
uiBaseLabel(txt, getFont(), 1.8f, WHITE);
}
bool uiMainMenuButton(const char *txt) {
@@ -193,7 +193,7 @@ bool uiMainMenuButton(const char *txt) {
}
void uiSettingsLabel(const char *txt) {
uiBaseLabel(txt, getFont(), 0.8f);
uiBaseLabel(txt, getFont(), 0.8f, WHITE);
}
bool uiSettingsButton(const char *txt) {
return uiBaseTextButton(txt, getFont(), 0.7f);
@@ -219,7 +219,10 @@ void uiGameResCount(i32 amount, i32 capacity, Rectangle icon, Texture2D texture)
else
snprintf(buf, sizeof(buf), "%d/%d##%d", amount, capacity, id);
const f32 scl = 0.4f;
uiBaseLabel(buf, getFont(), scl);
Color color = WHITE;
if (capacity != -1 && amount >= capacity)
color = RED;
uiBaseLabel(buf, getFont(), scl, color);
BzUINode *iconNode = bzUINodeMake(UI, id, &(BzUINodeDesc) {
.flags = BZ_UI_DRAW_SPRITE | BZ_UI_ALIGN_CENTER,