Muntat a c++14 per a make_unique
Mes autos, const i constexpr perl codi Ara la classe Screen es un poc pitjor
This commit is contained in:
@@ -9,13 +9,30 @@
|
||||
#include "text.h" // for Text
|
||||
#include "texture.h" // for Texture
|
||||
|
||||
// Constructor
|
||||
Scoreboard::Scoreboard(SDL_Renderer *renderer)
|
||||
{
|
||||
// Copia los punteros
|
||||
this->renderer = renderer;
|
||||
asset = Asset::get();
|
||||
// [SINGLETON] Hay que definir las variables estáticas, desde el .h sólo la hemos declarado
|
||||
Scoreboard *Scoreboard::scoreboard = nullptr;
|
||||
|
||||
// [SINGLETON] Crearemos el objeto scoreboard con esta función estática
|
||||
void Scoreboard::init(SDL_Renderer *renderer)
|
||||
{
|
||||
Scoreboard::scoreboard = new Scoreboard(renderer);
|
||||
}
|
||||
|
||||
// [SINGLETON] Destruiremos el objeto scoreboard con esta función estática
|
||||
void Scoreboard::destroy()
|
||||
{
|
||||
delete Scoreboard::scoreboard;
|
||||
}
|
||||
|
||||
// [SINGLETON] Con este método obtenemos el objeto scoreboard y podemos trabajar con él
|
||||
Scoreboard *Scoreboard::get()
|
||||
{
|
||||
return Scoreboard::scoreboard;
|
||||
}
|
||||
|
||||
// Constructor
|
||||
Scoreboard::Scoreboard(SDL_Renderer *renderer) : renderer(renderer)
|
||||
{
|
||||
// Inicializa punteros
|
||||
gamePowerMeterTexture = nullptr;
|
||||
powerMeterSprite = nullptr;
|
||||
@@ -47,9 +64,9 @@ Scoreboard::Scoreboard(SDL_Renderer *renderer)
|
||||
recalculateAnchors();
|
||||
|
||||
// Crea objetos
|
||||
gamePowerMeterTexture = new Texture(renderer, asset->get("game_power_meter.png"));
|
||||
powerMeterSprite = new Sprite(slot4_2.x - 20, slot4_2.y, 40, 7, gamePowerMeterTexture);
|
||||
textScoreBoard = new Text(asset->get("8bithud.png"), asset->get("8bithud.txt"), renderer);
|
||||
gamePowerMeterTexture = std::unique_ptr<Texture>(new Texture(renderer, Asset::get()->get("game_power_meter.png")));
|
||||
powerMeterSprite = std::unique_ptr<Sprite>(new Sprite(slot4_2.x - 20, slot4_2.y, 40, 7, gamePowerMeterTexture.get()));
|
||||
textScoreBoard = std::unique_ptr<Text>(new Text(Asset::get()->get("8bithud.png"), Asset::get()->get("8bithud.txt"), renderer));
|
||||
|
||||
// Crea la textura de fondo
|
||||
background = nullptr;
|
||||
@@ -64,14 +81,11 @@ Scoreboard::Scoreboard(SDL_Renderer *renderer)
|
||||
|
||||
Scoreboard::~Scoreboard()
|
||||
{
|
||||
gamePowerMeterTexture->unload();
|
||||
delete gamePowerMeterTexture;
|
||||
delete powerMeterSprite;
|
||||
delete textScoreBoard;
|
||||
if (background)
|
||||
{
|
||||
SDL_DestroyTexture(background);
|
||||
}
|
||||
|
||||
for (auto texture : panelTexture)
|
||||
{
|
||||
if (texture)
|
||||
|
||||
Reference in New Issue
Block a user