Added some m_ prefixes and made variables private in World
[supertux.git] / src / supertux / world.hpp
index c976c60..a7ffd27 100644 (file)
 #include <string>
 #include <vector>
 
+#include "util/currenton.hpp"
+
 class PlayerStatus;
 
-class World
+class World : public Currenton<World>
 {
 public:
-  static World* current()
-  {
-    return current_;
-  }
-
-private:
-  static World* current_;
-
-public:
   World();
   ~World();
 
@@ -50,32 +43,33 @@ public:
   const std::string& get_level_filename(unsigned int i) const;
   const std::string& get_basedir() const;
   const std::string& get_title() const;
-  /** returns player status */
-  PlayerStatus* get_player_status() const { return player_status.get(); }
+
+  PlayerStatus* get_player_status() const { return m_player_status.get(); }
 
   void run();
 
+  bool hide_from_contribs() const { return m_hide_from_contribs; }
+  bool is_levelset() const { return m_is_levelset; }
+
 private:
-  std::string worldname;
+  std::string m_worldmap_filename;
   struct Level
   {
+    Level() : fullpath(), name() {}
     std::string fullpath;
     std::string name;
   };
 
-  std::vector<Level> levels;
-  std::string basedir;
-  std::string savegame_filename;
-  /// squirrel table that saves persistent state (about the world)
-  HSQOBJECT state_table;
-  HSQOBJECT world_thread;
-  std::string title;
-  std::string description;
-  std::unique_ptr<PlayerStatus> player_status;
+  std::vector<Level> m_levels;
+  std::string m_basedir;
+  std::string m_savegame_filename;
+  HSQOBJECT m_world_thread;
+  std::string m_title;
+  std::string m_description;
+  std::unique_ptr<PlayerStatus> m_player_status;
 
-public:
-  bool hide_from_contribs;
-  bool is_levelset;
+  bool m_hide_from_contribs;
+  bool m_is_levelset;
 
 private:
   World(const World&) = delete;