2013-09-07 22:19:56 +02:00
#pragma once
#include <map>
#include <set>
#include "BlockID.h"
#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-10-18 20:02:53 +02:00
// fwd:
2013-09-07 22:19:56 +02:00
class cChunk ;
2013-10-18 20:02:53 +02:00
2013-10-20 14:16:21 +02:00
/** This class is used to collect the list of mobs for each family
2013-10-18 20:02:53 +02:00
*/
2013-09-07 22:19:56 +02:00
class cMobFamilyCollecter
{
public :
2013-10-18 20:02:53 +02:00
typedef const std :: set < cMonster :: eFamily > tMobFamilyList ;
2013-09-07 22:19:56 +02:00
// collect a mob
2013-10-18 20:02:53 +02:00
void CollectMob ( cMonster & a_Monster );
2013-09-07 22:19:56 +02:00
// return the number of mobs for this family
2013-10-18 20:02:53 +02:00
int GetNumberOfCollectedMobs ( cMonster :: eFamily a_Family );
2013-09-07 22:19:56 +02:00
protected :
2013-10-20 14:16:21 +02:00
std :: map < cMonster :: eFamily , std :: set < cMonster *> > m_Mobs ;
2013-10-18 20:02:53 +02:00
} ;
2013-09-07 22:19:56 +02:00