33 rpgInventory::rpgInventory(
void)
38 rpgInventory::~rpgInventory(
void)
42 M_BOOL rpgInventory::add(rpgItem *pItem)
46 unsigned nExisitngIndex = findByClass( pItem->strClass );
48 if( nExisitngIndex < size() )
50 if( at(nExisitngIndex)->nUpgradeLevel > pItem->nUpgradeLevel)
52 at(nExisitngIndex) = pItem;
55 else if( at(nExisitngIndex)->nUpgradeLevel == pItem->nUpgradeLevel )
57 at(nExisitngIndex) = pItem;
58 at(nExisitngIndex)->onIdentical();
64 at( nExisitngIndex ) = pItem;
75 void rpgInventory::remove(
unsigned n)
77 ASSERT(n < size(),
"Item %d out of bounds", n);
79 if(_nActive == n ) _nActive = 0;
84 unsigned rpgInventory::findByName(
char* strName)
86 rpgInventory::iterator i;
89 for(i=begin(); i!=end(); i++)
91 if(!strcmp( (*i)->strName, strName) )
101 unsigned rpgInventory::findByClass(
char* strClass)
103 rpgInventory::iterator i;
106 for(i=begin(); i!=end(); i++)
108 if(!strcmp( (*i)->strClass, strClass) )