1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
#ifndef CLASSE_CRESSOURCESMANAGER
#define CLASSE_CRESSOURCESMANAGER
#include <string>
#include <map>
#include <iostream>
#include "cItem.h"
/* --------------------------------------------------------------------------------- */
// Classe permettant de stocker en mémoire les différentes entitées du jeu .
/* --------------------------------------------------------------------------------- */
class cRessourcesManager
{
private :
cRessourcesManager ();
public :
~cRessourcesManager();
static cRessourcesManager & GetInstance();
void add(const std::string & Id, cItem * item );
void remove(const std::string & Id);
template < class T > T * get( const std::string & Id ) const
{
std::map<std::string, cItem *>::iterator it;
if ( Items.find(Id) == Items.end() )
{
std::cout << " Erreur ( classe cRessourcesManager ) " << std::endl ;
}
else
{
return (T *) * it;
}
}
public :
std::map<std::string, cItem*> Items ;
};
#endif |