improve exception feedback a bit
[supertux.git] / src / level.h
index 7e4c335..0f81e91 100644 (file)
 #include <map>
 #include <string>
 
+using namespace SuperTux;
+
 class Sector;
+
+namespace SuperTux {
 class LispReader;
+}
 
 class Level
 {
@@ -42,6 +47,7 @@ public:
 
   void load(const std::string& filename);
   void save(const std::string& filename);
+  static void create(const std::string& filename);
 
   const std::string& get_name() const
   { return name; }
@@ -49,19 +55,23 @@ public:
   const std::string& get_author() const
   { return author; }
 
-  bool is_level_flipped()
-  { return vertical_flip; }
+  /** Flips the level vertically */
+  void do_vertical_flip();
 
   void add_sector(Sector* sector);
 
   Sector* get_sector(const std::string& name);
 
+  Sector* get_next_sector(const Sector* sector);
+  Sector* get_previous_sector(const Sector* sector);
+
+  int get_total_sectors();
+
+  int get_total_badguys();
+  int get_total_coins();
+
 private:
   void load_old_format(LispReader& reader);
-
-  /** If true, it will flip the level vertically, during the
-      parsing process */
-  bool vertical_flip;
 };
 
 #endif /*SUPERTUX_LEVEL_H*/