#include <vector>
#include <string>
-#include "statistics.hpp"
-class Sector;
+#include "statistics.hpp"
namespace lisp {
class Lisp;
}
+class TileSet;
+class Sector;
+
+/**
+ * Represents a collection of Sectors running in a single GameSession.
+ *
+ * Each Sector in turn contains GameObjects, e.g. Badguys and Players.
+ */
class Level
{
public:
+ typedef std::vector<Sector*> Sectors;
+
std::string name;
std::string author;
- typedef std::vector<Sector*> Sectors;
- Sectors sectors;
- Statistics stats;
+ std::string contact;
+ std::string license;
+ std::string filename;
+ std::string on_menukey_script;
+ Sectors sectors;
+ Statistics stats;
+ TileSet *tileset;
+ bool free_tileset;
public:
Level();
size_t get_sector_count();
Sector* get_sector(size_t num);
- int get_total_badguys();
+ const TileSet *get_tileset() const
+ { return tileset; }
+
int get_total_coins();
+ int get_total_badguys();
+ int get_total_secrets();
private:
void load_old_format(const lisp::Lisp& reader);