2013-09-07 20:19:56 +00:00
# pragma once
2014-07-17 17:13:23 +00:00
# include "Mobs/Monster.h" // This is a side-effect of keeping Mobfamily inside Monster class. I'd prefer to keep both (Mobfamily and Monster) inside a "Monster" namespace MG TODO : do it
2013-09-07 20:19:56 +00:00
2013-10-18 18:02:53 +00:00
2013-10-20 12:16:21 +00:00
/** This class is used to collect the list of mobs for each family
2013-10-18 18:02:53 +00:00
*/
2013-09-07 20:19:56 +00:00
class cMobFamilyCollecter
{
public :
2013-10-18 18:02:53 +00:00
typedef const std : : set < cMonster : : eFamily > tMobFamilyList ;
2013-09-07 20:19:56 +00:00
// collect a mob
2013-10-18 18:02:53 +00:00
void CollectMob ( cMonster & a_Monster ) ;
2013-09-07 20:19:56 +00:00
// return the number of mobs for this family
2013-10-18 18:02:53 +00:00
int GetNumberOfCollectedMobs ( cMonster : : eFamily a_Family ) ;
2013-09-07 20:19:56 +00:00
2014-07-17 14:33:09 +00:00
protected :
2013-10-20 12:16:21 +00:00
std : : map < cMonster : : eFamily , std : : set < cMonster * > > m_Mobs ;
2013-10-18 18:02:53 +00:00
} ;
2013-09-07 20:19:56 +00:00