Ya lleva la cuenta de los objetos recogidos

This commit is contained in:
2022-07-14 11:03:35 +02:00
parent e752e90630
commit 8f3fc5b52a
5 changed files with 86 additions and 49 deletions

View File

@@ -8,29 +8,49 @@ Item_tracker::Item_tracker()
// Destructor
Item_tracker::~Item_tracker()
{
list.clear();
}
// Comprueba si el objeto ya ha sido cogido
bool Item_tracker::hasBeenPicked(std::string name, SDL_Point pos)
{
bool success = false;
// Primero busca si ya hay una entrada con ese nombre
const int index = findByName(name);
if (index != -1)
{
// Luego busca si existe ya una entrada con esa posición
if (findByPos(index, pos) != -1)
{
success = true;
}
}
return success;
}
// Añade el objeto a la lista de objetos cogidos
void Item_tracker::addItem(std::string name, SDL_Point pos)
{
// Primero busca si ya hay una entrada con ese nombre
const int index = findByName(name);
if (index != -1)
// Comprueba si el objeto no ha sido recogido con anterioridad
if (!hasBeenPicked(name, pos))
{
}
// Primero busca si ya hay una entrada con ese nombre
const int index = findByName(name);
if (index != -1)
{
list[index].pos.push_back(pos);
}
// En caso contrario crea la entrada
else
{
item_tracker_t item;
item.name = name;
item.pos.push_back(pos);
list.push_back(item);
// En caso contrario crea la entrada
else
{
item_tracker_t item;
item.name = name;
item.pos.push_back(pos);
list.push_back(item);
}
}
}