#include <vector>
#include <string>
-
-class Sector;
+#include "statistics.hpp"
+#include "sector.hpp"
namespace lisp {
class Lisp;
public:
std::string name;
std::string author;
+ std::string contact;
+ std::string license;
+ std::string on_menukey_script;
typedef std::vector<Sector*> Sectors;
Sectors sectors;
+ Statistics stats;
public:
Level();
size_t get_sector_count();
Sector* get_sector(size_t num);
- int get_total_badguys();
int get_total_coins();
+ int get_total_badguys();
+
+ /** Get total number of GameObjects of given type */
+ template<class T> int get_total_count()
+ {
+ int total = 0;
+ for(Sectors::iterator i = sectors.begin(); i != sectors.end(); ++i) {
+ total += (*i)->get_total_count<T>();
+ }
+ return total;
+ }
private:
void load_old_format(const lisp::Lisp& reader);