#ifndef DATAMANAGER_H #define DATAMANAGER_H #include "elemPropertyData.h" #include "readJsonSrc.h" class DataManager { public: static DataManager* getInstance(); //配置模板 ///获取模板中的fields,key为模板名字,name为模板中的某一选项名 QVector getTempFields(QString key,QString name); ///更新模板 void updateTempData(); enum class ListType{Anim,CollAnim,Pool,AnimType}; ///获取某一元素对应的动画、收集动画、容器列表 QStringList getList(QString elem,ListType listType); ///检查是否存在此元素 bool existElem(QString elemName); void addElem(QString elemName); void delElem(QString elemName); void changeElemName(QString oriName,QString newName); //基础属性值修改 ///修改标识值 void changeMarkValue(QString elem,QString val); ///修改基础属性大小 void changeSize(QString elem,QString val); ///修改最大层数 void changeMaxLayer(QString elem,QString val); void changeScore(QString elem,QString val); void changeDropConfig(QString elem,int val); void changeIconPath(QString elem,QString iconPath); //基础属性值获取 QString getMarkValue(QString elem); QString getSize(QString elem); QString getMaxLayer(QString elem); QString getScore(QString elem); int getDropConfig(QString elem); QString getIconPath(QString elem); //状态与效果动画 QVector getAnimVec(QString elem); QStringList getTimelineList(QString elem,QString filePath); bool existAnim(QString elem,QString animName); void addAnim(QString elem,QString animName); void delAnim(QString elem,int index); void changeAnimTable(QString elem,QString newData,int row,int column); //收集动画 QString getAnimType(QString elem,int index); void setAnimType(QString elem, QString newType, int index); QMap getCollAnimDataMap(QString elem,int index); void setCollAnimDataMapVal(QString elem,int index,QString key,QString val); bool existCollAnim(QString elem,QString collAnimName); void addCollAnim(QString elem,QString collAnimName); void delCollAnim(QString elem,int index); void changeCollAnimName(QString elem,int index,QString newName); private: DataManager(); ~DataManager(); DataManager(const DataManager &dataManager); QMap elements; ReadJsonSrc* jsonTemp; }; #endif // DATAMANAGER_H