stratgame
annotate level/src/level.h @ 2:369b51c9e4a8
foo
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Wed, 23 May 2012 07:25:43 +0300 |
parents | 86b53f76899f |
children | 8d95187cb3ee |
rev | line source |
---|---|
nuclear@0 | 1 #ifndef LEVEL_H_ |
nuclear@0 | 2 #define LEVEL_H_ |
nuclear@0 | 3 |
nuclear@2 | 4 #include <string> |
nuclear@2 | 5 #include <map> |
nuclear@2 | 6 #include <imago2.h> |
nuclear@0 | 7 #include "tinyxml2.h" |
nuclear@0 | 8 |
nuclear@2 | 9 class LevelMap; |
nuclear@2 | 10 |
nuclear@0 | 11 class Level { |
nuclear@0 | 12 private: |
nuclear@0 | 13 tinyxml2::XMLDocument xml; |
nuclear@2 | 14 std::map<std::string, LevelMap> levelmaps; |
nuclear@0 | 15 |
nuclear@0 | 16 public: |
nuclear@0 | 17 Level(); |
nuclear@0 | 18 ~Level(); |
nuclear@0 | 19 |
nuclear@0 | 20 bool load(const char *fname); |
nuclear@0 | 21 }; |
nuclear@0 | 22 |
nuclear@2 | 23 class LevelMap { |
nuclear@2 | 24 private: |
nuclear@2 | 25 float scale; |
nuclear@2 | 26 img_pixmap img; |
nuclear@2 | 27 char *name; |
nuclear@2 | 28 |
nuclear@2 | 29 void init(); |
nuclear@2 | 30 void destroy(); |
nuclear@2 | 31 |
nuclear@0 | 32 public: |
nuclear@2 | 33 LevelMap(); |
nuclear@2 | 34 ~LevelMap(); |
nuclear@2 | 35 |
nuclear@2 | 36 LevelMap(const LevelMap &map); |
nuclear@2 | 37 LevelMap &operator =(const LevelMap &map); |
nuclear@2 | 38 |
nuclear@2 | 39 // move constructor/op= |
nuclear@2 | 40 LevelMap(LevelMap &&map); |
nuclear@2 | 41 LevelMap &operator =(LevelMap &&map); |
nuclear@2 | 42 |
nuclear@2 | 43 bool load(tinyxml2::XMLElement *xelem); |
nuclear@2 | 44 |
nuclear@2 | 45 float get_scale() const; |
nuclear@2 | 46 const img_pixmap *get_pixmap() const; |
nuclear@2 | 47 const char *get_name() const; |
nuclear@0 | 48 }; |
nuclear@0 | 49 |
nuclear@0 | 50 #endif // LEVEL_H_ |