Acabat amb els singletones, de moment

Arreglat els checkEvents
This commit is contained in:
2025-02-22 23:39:10 +01:00
parent fc01676df2
commit 2ac425483b
25 changed files with 134 additions and 137 deletions

View File

@@ -48,7 +48,7 @@ Game::Game()
#endif
// Crea los objetos
cheevos_ = new Cheevos(asset_->get("cheevos.bin"));
cheevos_ = Cheevos::get();
scoreboard_ = new Scoreboard(&board_);
item_tracker_ = new ItemTracker();
room_tracker_ = new RoomTracker();
@@ -56,8 +56,7 @@ Game::Game()
const std::string playerPNG = options.cheat.altSkin ? "player2.png" : "player.png";
const std::string playerANI = options.cheat.altSkin ? "player2.ani" : "player.ani";
const player_t player = {spawn_point_, playerPNG, playerANI, room_};
this->player_ = new Player(player);
event_handler_ = new SDL_Event();
player_ = new Player(player);
text_ = new Text(resource_->getOffset("smb2.txt"), resource_->getTexture("smb2.png"), renderer_);
music_ = JA_LoadMusic(asset_->get("game.ogg").c_str());
death_sound_ = JA_LoadSound(asset_->get("death.wav").c_str());
@@ -111,13 +110,11 @@ Game::Game()
Game::~Game()
{
// Libera la memoria de los objetos
delete cheevos_;
delete scoreboard_;
delete item_tracker_;
delete room_tracker_;
delete room_;
delete player_;
delete event_handler_;
delete text_;
delete stats_;
@@ -130,25 +127,25 @@ Game::~Game()
// Comprueba los eventos de la cola
void Game::checkEvents()
{
// Comprueba los eventos que hay en la cola
while (SDL_PollEvent(event_handler_) != 0)
SDL_Event event;
while (SDL_PollEvent(&event))
{
// Evento de salida de la aplicación
if (event_handler_->type == SDL_QUIT)
if (event.type == SDL_QUIT)
{
options.section.name = SECTION_QUIT;
screen_->setBorderColor(stringToColor(options.palette, "black"));
break;
}
if (event_handler_->type == SDL_RENDER_DEVICE_RESET || event_handler_->type == SDL_RENDER_TARGETS_RESET)
if (event.type == SDL_RENDER_DEVICE_RESET || event.type == SDL_RENDER_TARGETS_RESET)
{
reLoadTextures();
}
if (event_handler_->type == SDL_KEYDOWN && event_handler_->key.repeat == 0)
if (event.type == SDL_KEYDOWN && event.key.repeat == 0)
{
switch (event_handler_->key.keysym.scancode)
switch (event.key.keysym.scancode)
{
#ifdef DEBUG
case SDL_SCANCODE_G: