Skip to content
Snippets Groups Projects
Commit 44f27529 authored by Frederik's avatar Frederik
Browse files

Add display for players money

parent dcbb784f
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) ...@@ -429,6 +429,8 @@ void Level::render(Engine& engine)
m_recruitingMenu.render(engine); m_recruitingMenu.render(engine);
} }
m_turnQ.front().renderMoney(engine, RENDERING_SCALE);
if (m_showUnitInfoMenu) if (m_showUnitInfoMenu)
{ {
m_unitInfoMenu.render(engine); m_unitInfoMenu.render(engine);
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
*/ */
#include "Player.hpp" #include "Player.hpp"
#include <SDL_ttf.h>
#include <iostream> #include <iostream>
namespace advanced_wars namespace advanced_wars
...@@ -107,4 +108,41 @@ void Player::spendMoney(int toSpend) ...@@ -107,4 +108,41 @@ void Player::spendMoney(int toSpend)
{ {
m_money -= 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 } // namespace advanced_wars
...@@ -62,6 +62,8 @@ class Player ...@@ -62,6 +62,8 @@ class Player
*/ */
void spendMoney(int toSpend); void spendMoney(int toSpend);
void renderMoney(Engine& engine, int scale);
private: private:
int m_money; // The players current amound of money int m_money; // The players current amound of money
bool m_alive; // Signals if the player is alive or not 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