Removed made public variables private in JoystickManager and KeyboardManager
[supertux.git] / src / supertux / tile_manager.cpp
index 9266932..e3072a7 100644 (file)
 #include "supertux/tile_manager.hpp"
 
 #include <limits>
-#include <memory>
 
 #include "lisp/list_iterator.hpp"
 #include "supertux/tile_set.hpp"
 
-TileManager* tile_manager    = NULL;
-TileSet*     current_tileset = NULL;
-
 TileManager::TileManager() :
   tilesets()
 {
@@ -35,21 +31,27 @@ TileManager::~TileManager()
 {
 }
 
-TileSet* TileManager::get_tileset(const std::string &filename)
+TileSet*
+TileManager::get_tileset(const std::string &filename)
 {
   TileSets::const_iterator i = tilesets.find(filename);
   if(i != tilesets.end())
-    return i->second;
-
-  std::auto_ptr<TileSet> tileset (new TileSet(filename));
-  tilesets.insert(std::make_pair(filename, tileset.get()));
-
-  return tileset.release();
+  {
+    return i->second.get();
+  }
+  else
+  {
+    std::unique_ptr<TileSet> tileset(new TileSet(filename));
+    TileSet* result = tileset.get();
+    tilesets.insert(std::make_pair(filename, std::move(tileset)));
+    return result;
+  }
 }
 
-TileSet* TileManager::parse_tileset_definition(const Reader& reader)
+std::unique_ptr<TileSet>
+TileManager::parse_tileset_definition(const Reader& reader)
 {
-  std::auto_ptr<TileSet> result(new TileSet());
+  std::unique_ptr<TileSet> result(new TileSet);
 
   lisp::ListIterator iter(&reader);
   while(iter.next()) {
@@ -60,7 +62,7 @@ TileSet* TileManager::parse_tileset_definition(const Reader& reader)
     }
     const lisp::Lisp* tileset_reader = iter.lisp();
 
-    std::string file; 
+    std::string file;
     if (!tileset_reader->get("file", file)) {
       log_warning << "Skipping tileset import without file name" << std::endl;
       continue;
@@ -78,7 +80,7 @@ TileSet* TileManager::parse_tileset_definition(const Reader& reader)
     result->merge(tileset, start, end, offset);
   }
 
-  return result.release();
+  return std::move(result);
 }
 
 /* EOF */