Update keys for cheat menu and console only when items are enabled. Fixes #1062.
[supertux.git] / src / supertux / world.hpp
index fd2171b..6ce0ab1 100644 (file)
 #include <string>
 #include <vector>
 
-#include "util/currenton.hpp"
+#include "supertux/savegame.hpp"
 
-class PlayerStatus;
-
-class World : public Currenton<World>
+class World
 {
 private:
   World();
 
-  void load_(const std::string& filename);
+  void load_(const std::string& directory);
 
 public:
   /**
@@ -44,40 +42,24 @@ public:
 public:
   ~World();
 
-  void save_state();
-  void load_state();
-
-  unsigned int get_num_levels() const;
-  int get_num_solved_levels() const;
-
-  const std::string& get_level_filename(unsigned int i) const;
-  const std::string& get_basedir() const;
-  const std::string& get_title() const;
-
-  PlayerStatus* get_player_status() const { return m_player_status.get(); }
-
-  void run();
+  std::string get_basedir() const;
+  std::string get_title() const;
 
   bool hide_from_contribs() const { return m_hide_from_contribs; }
+
   bool is_levelset() const { return m_is_levelset; }
+  bool is_worldmap() const { return !m_is_levelset; }
+
+  std::string get_worldmap_filename() const { return m_worldmap_filename; }
+  std::string get_savegame_filename() const { return m_savegame_filename; }
 
 private:
-  std::string m_worldmap_filename;
-  struct Level
-  {
-    Level() : fullpath(), name() {}
-    std::string fullpath;
-    std::string name;
-  };
-
-  std::vector<Level> m_levels;
   std::string m_basedir;
+  std::string m_worldmap_filename;
   std::string m_savegame_filename;
-  HSQOBJECT m_world_thread;
+
   std::string m_title;
   std::string m_description;
-  std::unique_ptr<PlayerStatus> m_player_status;
-
   bool m_hide_from_contribs;
   bool m_is_levelset;