#ifndef SUPERTUX_LEVEL_H
#define SUPERTUX_LEVEL_H
-#include <map>
+#include <vector>
#include <string>
class Sector;
-class LispReader;
+
+namespace lisp {
+class Lisp;
+}
class Level
{
public:
std::string name;
std::string author;
- int time_left;
- typedef std::map<std::string, Sector*> Sectors;
+ int timelimit;
+ typedef std::vector<Sector*> Sectors;
Sectors sectors;
public:
Level();
~Level();
+ // loads a levelfile
void load(const std::string& filename);
void save(const std::string& filename);
Sector* get_sector(const std::string& name);
+ size_t get_sector_count();
+ Sector* get_sector(size_t num);
+
+ int get_total_badguys();
+ int get_total_coins();
+
private:
- void load_old_format(LispReader& reader);
+ void load_old_format(const lisp::Lisp& reader);
};
#endif /*SUPERTUX_LEVEL_H*/