|
mkRPG
|
00001 #ifndef XMLREADER_H 00002 #define XMLREADER_H 00003 00004 #include <QtXml> 00005 #include "game.h" 00006 00017 enum MarkUp{ 00018 MU_Invalid, 00019 MU_Files, MU_File, 00020 MU_Game, MU_World, 00021 MU_Background, MU_Parent, 00022 MU_MapType, MU_Map, 00023 MU_CellType, MU_Cell, 00024 MU_ObjectType, MU_Object, 00025 MU_EntityType, MU_Entity, 00026 00027 MU_Image, 00028 MU_Parameter, MU_Flag, 00029 MU_Event, MU_Order, 00030 }; 00031 00032 #define RegMU(MU) std::pair<QString,MarkUp>(#MU, MU_##MU) 00033 00036 typedef std::pair<QString,MarkUp> Asso; 00037 const QMap<QString, MarkUp> 00038 markUps({ 00039 RegMU(Files), 00040 RegMU(File), 00041 RegMU(Game), 00042 RegMU(World), 00043 RegMU(CellType), 00044 RegMU(MapType), 00045 RegMU(Map), 00046 RegMU(ObjectType), 00047 RegMU(Object), 00048 RegMU(EntityType), 00049 RegMU(Entity), 00050 RegMU(Parent), 00051 RegMU(Cell), 00052 RegMU(Image), 00053 RegMU(Order), 00054 RegMU(Event), 00055 RegMU(Background), 00056 }); 00057 00058 00065 class XmlTree 00066 { 00067 public: 00068 XmlTree(QXmlStreamReader &reader); 00069 00070 //private: 00071 MarkUp markUp; 00072 QList<XmlTree*> subTrees; 00073 QString content; 00074 QMap<QString, QString> attributes; 00075 }; 00076 00077 00078 void readElement(const QDir &dir, const XmlTree &tree, Game *game, QMap<int, int> &identCV); 00081 Game* importGame(const QString &fileName); 00089 #endif // XMLREADER_H
1.7.6.1