#pragma once
#include <SDL2/SDL.h>
#include "utils.h"
#include <string>
#include <vector>

#ifndef ITEM_TRACKER_H
#define ITEM_TRACKER_H

struct item_tracker_t
{
	std::string name;			// Nombre de la habitación donde se encuentra el objeto
	std::vector<SDL_Point> pos; // Lista de objetos cogidos de la habitación
};

// Clase ItemTracker
class ItemTracker
{
private:
	std::vector<item_tracker_t> list; // Lista con todos los objetos recogidos

	// Busca una entrada en la lista por nombre
	int findByName(std::string name);

	// Busca una entrada en la lista por posición
	int findByPos(int index, SDL_Point pos);

public:
	// Constructor
	ItemTracker();

	// Destructor
	~ItemTracker();

	// Comprueba si el objeto ya ha sido cogido
	bool hasBeenPicked(std::string name, SDL_Point pos);

	// Añade el objeto a la lista de objetos cogidos
	void addItem(std::string name, SDL_Point pos);
};

#endif
