namespace cocos2d { enum { TMXLayerAttribNone = 1 << 0, TMXLayerAttribBase64 = 1 << 1, TMXLayerAttribGzip = 1 << 2, TMXLayerAttribZlib = 1 << 3, }; enum { TMXPropertyNone, TMXPropertyMap, TMXPropertyLayer, TMXPropertyObjectGroup, TMXPropertyObject, TMXPropertyTile }; class CCTMXLayerInfo : public CCObject { CCStringToStringDictionary* getProperties(); void setProperties(CCStringToStringDictionary* pval); CCTMXLayerInfo(); ~CCTMXLayerInfo(); }; class CCTMXTilesetInfo : public CCObject { CCTMXTilesetInfo(); ~CCTMXTilesetInfo(); CCRect rectForGID(unsigned int gid); }; /** @brief CCTMXMapInfo contains the information about the map like: - Map orientation (hexagonal, isometric or orthogonal) - Tile size - Map size And it also contains: - Layers (an array of TMXLayerInfo objects) - Tilesets (an array of TMXTilesetInfo objects) - ObjectGroups (an array of TMXObjectGroupInfo objects) This information is obtained from the TMX file. */ class CCTMXMapInfo : public CCObject, public CCSAXDelegator { public: /// map orientation int getOrientation(); void setOrientation(int val); /// map width & height CCSize getMapSize(); void setMapSize(CCSize sz); /// tiles width & height CCSize getTileSize(); void setTileSize(CCSize sz); /// Layers CCMutableArray* getLayers(); void setLayers(CCMutableArray* pval); /// tilesets CCMutableArray* getTilesets(); void setTilesets(CCMutableArray* pval); /// ObjectGroups CCMutableArray* getObjectGroups(); void setObjectGroups(CCMutableArray* val); /// parent element int getParentElement(); void setParentElement(int val); /// parent GID unsigned int getParentGID(); void setParentGID(unsigned int val); /// layer attribs int getLayerAttribs(); void setLayerAttribs(int val); /// is stroing characters? bool getStoringCharacters(); void setStoringCharacters(bool val); /// properties CCStringToStringDictionary* getProperties(); void setProperties(CCStringToStringDictionary* pval); CCTMXMapInfo(); ~CCTMXMapInfo(); /** creates a TMX Format with a tmx file */ static CCTMXMapInfo * formatWithTMXFile(const char *tmxFile); /** initializes a TMX format witha tmx file */ bool initWithTMXFile(const char *tmxFile); /** initalises parsing of an XML file, either a tmx (Map) file or tsx (Tileset) file */ bool parseXMLFile(const char *xmlFilename); CCDictionary * getTileProperties(); void setTileProperties(CCDictionary * tileProperties); // implement pure virtual methods of CCSAXDelegator void startElement(void *ctx, const char *name, const char **atts); void endElement(void *ctx, const char *name); void textHandler(void *ctx, const char *ch, int len); const char* getCurrentString(); void setCurrentString(const char *currentString); const char* getTMXFileName(); void setTMXFileName(const char *fileName); }; }// namespace cocos2d