Singleton de ItemTracker

Arreglos menors
This commit is contained in:
2025-02-26 13:07:41 +01:00
parent 2457517f2b
commit 85ab5ea03f
13 changed files with 466 additions and 442 deletions

View File

@@ -36,7 +36,7 @@ Game::Game()
cheevos_(Cheevos::get())
{
// Inicia algunas variables
board_.iniClock = SDL_GetTicks();
board_.ini_clock = SDL_GetTicks();
#ifdef DEBUG
current_room_ = "03.room";
const int x = 25;
@@ -51,10 +51,10 @@ Game::Game()
#endif
// Crea los objetos
ItemTracker::init();
scoreboard_ = std::make_shared<Scoreboard>(&board_);
item_tracker_ = std::make_shared<ItemTracker>();
room_tracker_ = std::make_shared<RoomTracker>();
room_ = std::make_shared<Room>(resource_->getRoom(current_room_), item_tracker_, &board_.items, false);
room_ = std::make_shared<Room>(resource_->getRoom(current_room_), &board_.items, false);
const std::string playerPNG = options.cheats.alternate_skin == Cheat::CheatState::ENABLED ? "player2.png" : "player.png";
const std::string playerANI = options.cheats.alternate_skin == Cheat::CheatState::ENABLED ? "player2.ani" : "player.ani";
const player_t player = {spawn_point_, playerPNG, playerANI, room_};
@@ -110,7 +110,7 @@ Game::Game()
Game::~Game()
{
// Libera la memoria de los objetos
ItemTracker::destroy();
SDL_DestroyTexture(room_name_texture_);
}
@@ -336,7 +336,7 @@ bool Game::changeRoom(std::string file)
if (asset_->get(file) != "")
{
// Crea un objeto habitación nuevo a partir del fichero
room_ = std::make_shared<Room>(resource_->getRoom(file), item_tracker_, &board_.items, board_.jail_is_open);
room_ = std::make_shared<Room>(resource_->getRoom(file), &board_.items, board_.jail_is_open);
// Pone el nombre de la habitación en la textura
fillRoomNameTexture();
@@ -440,7 +440,7 @@ void Game::killPlayer()
setBlackScreen();
// Crea la nueva habitación y el nuevo jugador
room_ = std::make_shared<Room>(resource_->getRoom(current_room_), item_tracker_, &board_.items, board_.jail_is_open);
room_ = std::make_shared<Room>(resource_->getRoom(current_room_), &board_.items, board_.jail_is_open);
const std::string playerPNG = options.cheats.alternate_skin == Cheat::CheatState::ENABLED ? "player2.png" : "player.png";
const std::string playerANI = options.cheats.alternate_skin == Cheat::CheatState::ENABLED ? "player2.ani" : "player.ani";
const player_t player = {spawn_point_, playerPNG, playerANI, room_};