forked from jaildesigner-jailgames/jaildoctors_dilemma
Añadido el procedimiento reLoadTexture a todos los objetos que lo necesitaban
This commit is contained in:
@@ -14,7 +14,7 @@ Room::Room(std::string file_path, SDL_Renderer *renderer, Asset *asset, ItemTrac
|
||||
|
||||
// Crea los objetos
|
||||
load(file_path);
|
||||
texture = new LTexture(renderer,asset->get(tileset));
|
||||
texture = new LTexture(renderer, asset->get(tileset));
|
||||
itemSound = JA_LoadSound(asset->get("item.wav").c_str());
|
||||
|
||||
// Crea la textura para el mapa de tiles de la habitación
|
||||
@@ -207,37 +207,37 @@ bool Room::setVars(std::string var, std::string value)
|
||||
{
|
||||
name = value;
|
||||
}
|
||||
|
||||
|
||||
else if (var == "bgColor")
|
||||
{
|
||||
bgColor = stringToColor(value);
|
||||
}
|
||||
|
||||
|
||||
else if (var == "tileset")
|
||||
{
|
||||
tileset = value;
|
||||
}
|
||||
|
||||
|
||||
else if (var == "roomUp")
|
||||
{
|
||||
roomUp = value;
|
||||
}
|
||||
|
||||
|
||||
else if (var == "roomDown")
|
||||
{
|
||||
roomDown = value;
|
||||
}
|
||||
|
||||
|
||||
else if (var == "roomLeft")
|
||||
{
|
||||
roomLeft = value;
|
||||
}
|
||||
|
||||
|
||||
else if (var == "roomRight")
|
||||
{
|
||||
roomRight = value;
|
||||
}
|
||||
|
||||
|
||||
else if (var == "tilemap")
|
||||
{
|
||||
// Se introducen los valores separados por comas en un vector
|
||||
@@ -248,11 +248,11 @@ bool Room::setVars(std::string var, std::string value)
|
||||
tilemap.push_back(std::stoi(tmp));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
else if (var == "")
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
else
|
||||
{
|
||||
success = false;
|
||||
@@ -536,13 +536,13 @@ bool Room::enemyCollision(SDL_Rect &rect)
|
||||
bool Room::itemCollision(SDL_Rect &rect)
|
||||
{
|
||||
bool collision = false;
|
||||
for (int i =0;i<items.size();i++)
|
||||
for (int i = 0; i < items.size(); i++)
|
||||
{
|
||||
if (checkCollision(rect, items[i]->getCollider()))
|
||||
{
|
||||
itemTracker->addItem(name, items[i]->getPos());
|
||||
delete items[i];
|
||||
items.erase(items.begin()+i);
|
||||
items.erase(items.begin() + i);
|
||||
JA_PlaySound(itemSound);
|
||||
*itemsPicked = *itemsPicked + 1;
|
||||
collision = true;
|
||||
@@ -550,4 +550,20 @@ bool Room::itemCollision(SDL_Rect &rect)
|
||||
}
|
||||
|
||||
return collision;
|
||||
}
|
||||
|
||||
// Recarga la textura
|
||||
void Room::reLoadTexture()
|
||||
{
|
||||
texture->reLoad();
|
||||
fillMapTexture();
|
||||
for (auto enemy : enemies)
|
||||
{
|
||||
enemy->reLoadTexture();
|
||||
}
|
||||
|
||||
for (auto item : items)
|
||||
{
|
||||
item->reLoadTexture();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user