diff options
Diffstat (limited to 'src/ui.c')
| -rw-r--r-- | src/ui.c | 44 |
1 files changed, 33 insertions, 11 deletions
@@ -2,13 +2,11 @@ #include "game.h" #include "settings.h" -// TODO: byebye magic numbers - -void resizeInteractionChat(InteractionChat* chat) +void resizeInteractionChat(InteractionChat* chat, const Settings* settings) { float renderWidth = GetRenderWidth(); float renderHeight = GetRenderHeight(); - float height = 200.0; + float height = settings->interactionChatHeight; chat->rect = (Rectangle){ 0.0, @@ -18,13 +16,13 @@ void resizeInteractionChat(InteractionChat* chat) }; } -void initInteractionChat(InteractionChat* chat) +void initInteractionChat(InteractionChat* chat, const Settings* settings) { memset(&chat->text, 0, INTERACTION_CHAT_MAX * sizeof(char)); - chat->visible = true; + chat->visible = false; + chat->entityId = ENTITY_NONE; - resizeInteractionChat(chat); - writeToInteractionChat(chat, "test test test test test\ntest test test test test test test test"); + resizeInteractionChat(chat, settings); } void showInteractionChat(InteractionChat* chat) @@ -51,7 +49,7 @@ void updateInteractionChat(InteractionChat* chat, Game* game) { if (IsWindowResized()) { - resizeInteractionChat(chat); + resizeInteractionChat(chat, &game->settings); } if (!chat->visible) @@ -62,7 +60,31 @@ void updateInteractionChat(InteractionChat* chat, Game* game) Color background = DARKGRAY; background.a = game->settings.interactionChatAlpha; DrawRectangleRec(chat->rect, background); + + float lineThickness = 2.0; + float border = 3.0; + int fontSize = game->settings.interactionChatFontSize; - DrawRectangleLinesEx(chat->rect, 2.0, BLACK); - DrawText(chat->text, chat->rect.x + 3.0, chat->rect.y + 3.0, 20, GREEN); + DrawRectangleLinesEx(chat->rect, lineThickness, BLACK); + + if (chat->entityId != ENTITY_NONE) + { + DrawText(TextFormat("%s says:", getEntityName(chat->entityId)), + chat->rect.x + border, + chat->rect.y + border, + fontSize, + WHITE); + } + + DrawText(chat->text, + chat->rect.x + border, + chat->rect.y + (border * 2.0) + fontSize, + fontSize, + GREEN); + + DrawText("Hit enter to continue...", + chat->rect.x + border, + chat->rect.y + chat->rect.height - fontSize - border, + fontSize, + WHITE); } |
