dataManager.h 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #ifndef DATAMANAGER_H
  2. #define DATAMANAGER_H
  3. #include "elemPropertyData.h"
  4. #include "readJsonSrc.h"
  5. class DataManager
  6. {
  7. public:
  8. static DataManager* getInstance();
  9. //配置模板
  10. ///获取模板中的fields,key为模板名字,name为模板中的某一选项名
  11. QVector<ReadJsonSrc::Fields> getTempFields(QString key,QString name);
  12. ///更新模板
  13. void updateTempData();
  14. enum class ListType{Anim,CollAnim,Pool,AnimType};
  15. ///获取某一元素对应的动画、收集动画、容器列表
  16. QStringList getList(QString elem,ListType listType);
  17. ///检查是否存在此元素
  18. bool existElem(QString elemName);
  19. void addElem(QString elemName);
  20. void delElem(QString elemName);
  21. void changeElemName(QString oriName,QString newName);
  22. //基础属性值修改
  23. ///修改标识值
  24. void changeMarkValue(QString elem,QString val);
  25. ///修改基础属性大小
  26. void changeSize(QString elem,QString val);
  27. ///修改最大层数
  28. void changeMaxLayer(QString elem,QString val);
  29. void changeScore(QString elem,QString val);
  30. void changeDropConfig(QString elem,int val);
  31. void changeIconPath(QString elem,QString iconPath);
  32. //基础属性值获取
  33. QString getMarkValue(QString elem);
  34. QString getSize(QString elem);
  35. QString getMaxLayer(QString elem);
  36. QString getScore(QString elem);
  37. int getDropConfig(QString elem);
  38. QString getIconPath(QString elem);
  39. //状态与效果动画
  40. QVector<ElemPropertyData::StatusEffect> getAnimVec(QString elem);
  41. QStringList getTimelineList(QString elem,QString filePath);
  42. bool existAnim(QString elem,QString animName);
  43. void addAnim(QString elem,QString animName);
  44. void delAnim(QString elem,int index);
  45. void changeAnimTable(QString elem,QString newData,int row,int column);
  46. //收集动画
  47. QString getAnimType(QString elem,int index);
  48. void setAnimType(QString elem, QString newType, int index);
  49. QMap<QString,QString> getCollAnimDataMap(QString elem,int index);
  50. void setCollAnimDataMapVal(QString elem,int index,QString key,QString val);
  51. bool existCollAnim(QString elem,QString collAnimName);
  52. void addCollAnim(QString elem,QString collAnimName);
  53. void delCollAnim(QString elem,int index);
  54. void changeCollAnimName(QString elem,int index,QString newName);
  55. private:
  56. DataManager();
  57. ~DataManager();
  58. DataManager(const DataManager &dataManager);
  59. QMap<QString,ElemPropertyData*> elements;
  60. ReadJsonSrc* jsonTemp;
  61. };
  62. #endif // DATAMANAGER_H