projects
/
supertux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
and more...
[supertux.git]
/
src
/
tile_manager.h
diff --git
a/src/tile_manager.h
b/src/tile_manager.h
index
2faa362
..
961e077
100644
(file)
--- a/
src/tile_manager.h
+++ b/
src/tile_manager.h
@@
-27,8
+27,7
@@
#include <map>
#include <stdint.h>
#include <assert.h>
#include <map>
#include <stdint.h>
#include <assert.h>
-
-class Tile;
+#include "tile.h"
struct TileGroup
{
struct TileGroup
{
@@
-43,24
+42,20
@@
struct TileGroup
class TileManager
{
class TileManager
{
- private:
- TileManager();
- ~TileManager();
-
+private:
typedef std::vector<Tile*> Tiles;
Tiles tiles;
static TileManager* instance_ ;
std::set<TileGroup> tilegroups;
typedef std::vector<Tile*> Tiles;
Tiles tiles;
static TileManager* instance_ ;
std::set<TileGroup> tilegroups;
- void load_tileset(std::string filename);
- std::string
current_tileset
;
+ std::string
tiles_path
;
- public:
- static TileManager* instance()
- { return instance_ ? instance_ : instance_ = new TileManager(); }
- static void destroy_instance()
- { delete instance_; instance_ = 0; }
+ void load_tileset(std::string filename);
+
+public:
+ TileManager(const std::string& filename);
+ ~TileManager();
const std::set<TileGroup>& get_tilegroups() const
{
const std::set<TileGroup>& get_tilegroups() const
{
@@
-70,22
+65,32
@@
class TileManager
const Tile* get(uint32_t id) const
{
assert(id < tiles.size());
const Tile* get(uint32_t id) const
{
assert(id < tiles.size());
- Tile* t = tiles[id];
- if
(t)
- {
-
return t
;
-
}
- else
- {
-
std::cout << "TileManager: Invalid tile: " << id << std::endl
;
- return tiles[0];
- }
+ Tile* t
ile
= tiles[id];
+ if
(!tile) {
+ std::cout << "TileManager: Invalid tile: " << id << std::endl;
+
return tiles[0]
;
+ }
+
+ if(tile->images.size() == 0 && tile->imagespecs.size() != 0)
+
tile->load_images(tiles_path)
;
+
+ return tile;
}
uint32_t get_max_tileid() const
{
return tiles.size();
}
}
uint32_t get_max_tileid() const
{
return tiles.size();
}
+
+ int get_default_width() const
+ {
+ return 32;
+ }
+
+ int get_default_height() const
+ {
+ return 32;
+ }
};
#endif
};
#endif