UMPAssembly.h

Go to the documentation of this file.
00001 #ifndef UMPASSEMBLY_H_
00002 #define UMPASSEMBLY_H_
00003 
00004 #include <string>
00005 #include <sstream>
00006 #include <vector>
00007 
00008 namespace map
00009 {
00010     namespace ump
00011     {
00013         struct TileAndAmount
00014         {
00015             private:
00016 
00017                 std::string _tileName;
00018 
00019                 int _min;
00020 
00021                 int _max;
00022 
00023                 bool _fix;
00024 
00025             public:
00026                 // Constructor
00027                 TileAndAmount (const std::string& tileName, const int min, const int max, bool fix = false) :
00028                     _tileName(tileName), _min(min), _max(max), _fix(fix)
00029                 {
00030                 }
00031 
00032                 const std::string toString () const
00033                 {
00034                     std::stringstream os;
00035                     os << _tileName << "\t" << "\"" << _min << " " << _max << "\"" << std::endl;
00036                     return os.str();
00037                 }
00038 
00039                 const std::string getTileName () const
00040                 {
00041                     return _tileName;
00042                 }
00043                 const int getMinAmount () const
00044                 {
00045                     return _min;
00046                 }
00047                 const int getMaxAmount () const
00048                 {
00049                     return _max;
00050                 }
00051                 const bool isFix () const
00052                 {
00053                     return _fix;
00054                 }
00055         };
00056 
00057         class UMPAssembly
00058         {
00059             private:
00063                 int _gridWidth;
00064                 int _gridHeight;
00065 
00069                 int _width;
00070                 int _height;
00071 
00074                 std::string _title;
00075 
00078                 std::string _name;
00079 
00080                 std::vector<TileAndAmount> _tiles;
00081                 typedef std::vector<TileAndAmount>::iterator TileAndAmountIterator;
00082                 typedef std::vector<TileAndAmount>::const_iterator TileAndAmountConstIterator;
00083 
00084             public:
00085                 UMPAssembly ();
00086 
00087                 virtual ~UMPAssembly ();
00088 
00089                 const std::string toString () const;
00090         };
00091     }
00092 }
00093 
00094 #endif /* UMPASSEMBLY_H_ */

Generated by  doxygen 1.6.2