diff options
Diffstat (limited to 'src/MobFamilyCollecter.h')
-rw-r--r-- | src/MobFamilyCollecter.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/MobFamilyCollecter.h b/src/MobFamilyCollecter.h new file mode 100644 index 000000000..6cef133b5 --- /dev/null +++ b/src/MobFamilyCollecter.h @@ -0,0 +1,39 @@ + +#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 + + + + +// fwd: +class cChunk; + + + + + +/** This class is used to collect the list of mobs for each family +*/ +class cMobFamilyCollecter +{ +public : + typedef const std::set<cMonster::eFamily> tMobFamilyList; + + // collect a mob + void CollectMob(cMonster & a_Monster); + + // return the number of mobs for this family + int GetNumberOfCollectedMobs(cMonster::eFamily a_Family); + +protected : + std::map<cMonster::eFamily, std::set<cMonster *> > m_Mobs; + +} ; + + + + |