Skip to content
Snippets Groups Projects
Commit e8767e72 authored by Frederik Alexander Keens's avatar Frederik Alexander Keens
Browse files

Merge branch 'Money-display' into 'main'

Add display for players money

See merge request !56
parents dcbb784f 44f27529
No related branches found
No related tags found
1 merge request!56Add display for players money
......@@ -429,6 +429,8 @@ void Level::render(Engine& engine)
m_recruitingMenu.render(engine);
}
m_turnQ.front().renderMoney(engine, RENDERING_SCALE);
if (m_showUnitInfoMenu)
{
m_unitInfoMenu.render(engine);
......
......@@ -5,6 +5,7 @@
*/
#include "Player.hpp"
#include <SDL_ttf.h>
#include <iostream>
namespace advanced_wars
......@@ -107,4 +108,41 @@ void Player::spendMoney(int toSpend)
{
m_money -= toSpend;
}
void Player::renderMoney(Engine& engine, int scale)
{
if (TTF_Init() == -1)
{
return;
}
TTF_Font* font = TTF_OpenFont("res/ARCADECLASSIC.TTF", 16);
SDL_Rect backdrop = {0, 0, 75 * scale, 40 * scale};
SDL_Rect textRect = {4 * scale, 3 * scale, 70 * scale, 35 * scale};
SDL_Rect outline = {0, 0, 77 * scale, 42 * scale};
SDL_SetRenderDrawBlendMode(engine.renderer(), SDL_BlendMode::SDL_BLENDMODE_BLEND);
SDL_SetRenderDrawColor(engine.renderer(), 255, 255, 255, 200);
SDL_RenderFillRect(engine.renderer(), &outline);
SDL_SetRenderDrawColor(engine.renderer(), 75, 87, 219, 200);
SDL_RenderFillRect(engine.renderer(), &backdrop);
std::string money = std::to_string(m_money);
SDL_Surface* textSurface = TTF_RenderUTF8_Solid(font, money.c_str(), {200, 200, 0, 200});
SDL_Texture* textTexture = SDL_CreateTextureFromSurface(engine.renderer(), textSurface);
SDL_RenderCopy(engine.renderer(), textTexture, NULL, &textRect);
SDL_FreeSurface(textSurface);
SDL_DestroyTexture(textTexture);
TTF_CloseFont(font);
TTF_Quit();
}
} // namespace advanced_wars
......@@ -62,6 +62,8 @@ class Player
*/
void spendMoney(int toSpend);
void renderMoney(Engine& engine, int scale);
private:
int m_money; // The players current amound of money
bool m_alive; // Signals if the player is alive or not
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment