stratgame

annotate level/src/level.h @ 3:8d95187cb3ee

foo
author John Tsiombikas <nuclear@member.fsf.org>
date Wed, 23 May 2012 17:10:46 +0300
parents 369b51c9e4a8
children 2e38715de41b
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@3 21
nuclear@3 22 void draw() const;
nuclear@0 23 };
nuclear@0 24
nuclear@2 25 class LevelMap {
nuclear@2 26 private:
nuclear@2 27 float scale;
nuclear@2 28 img_pixmap img;
nuclear@2 29 char *name;
nuclear@2 30
nuclear@2 31 void init();
nuclear@2 32 void destroy();
nuclear@2 33
nuclear@0 34 public:
nuclear@2 35 LevelMap();
nuclear@2 36 ~LevelMap();
nuclear@2 37
nuclear@2 38 LevelMap(const LevelMap &map);
nuclear@2 39 LevelMap &operator =(const LevelMap &map);
nuclear@2 40
nuclear@2 41 // move constructor/op=
nuclear@2 42 LevelMap(LevelMap &&map);
nuclear@2 43 LevelMap &operator =(LevelMap &&map);
nuclear@2 44
nuclear@2 45 bool load(tinyxml2::XMLElement *xelem);
nuclear@2 46
nuclear@2 47 float get_scale() const;
nuclear@2 48 const img_pixmap *get_pixmap() const;
nuclear@2 49 const char *get_name() const;
nuclear@0 50 };
nuclear@0 51
nuclear@0 52 #endif // LEVEL_H_