elemPropertyData.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. #ifndef ELEMPROPERTYDATA_H
  2. #define ELEMPROPERTYDATA_H
  3. #include <QString>
  4. #include <QVector>
  5. #include <QMap>
  6. class ElemPropertyData
  7. {
  8. public:
  9. ElemPropertyData();
  10. //基础属性
  11. QString labelName;
  12. QString size;
  13. QString maxLayer;
  14. QString score;
  15. int dropConfig;
  16. QString iconPath;
  17. //状态与效果动画
  18. struct StatusEffect{
  19. QString name;
  20. QString res;
  21. QString timeline;
  22. QString zOrder;
  23. StatusEffect(QString animName):name(animName),res("双击添加资源文件"){}
  24. };
  25. QVector<StatusEffect> statusEffect;
  26. //收集动画
  27. struct CollAnim{
  28. QString name;
  29. QString type;
  30. QString anim;
  31. QMap<QString,QString> dataMap;
  32. CollAnim(QString collAnimName):name(collAnimName),type("尚未选择"),anim("尚未选择"){}
  33. };
  34. QVector<CollAnim> collAnim;
  35. // 状态配置
  36. // 事件配置
  37. struct EventConfig{
  38. QString name;
  39. bool consisColor;
  40. int changeMagnitude;
  41. QString specialEffect;
  42. bool elimATLattices;
  43. QString triggerAction;
  44. QMap<QString,QString> actionConfig;
  45. EventConfig():name("尚未选择"),specialEffect("尚未选择"),triggerAction("尚未选择"),consisColor(false),changeMagnitude(0),elimATLattices(false){}
  46. };
  47. struct StatusConfig{
  48. QString statusValue;
  49. QString initAnim;
  50. QString clickAnim;
  51. bool multiHit;
  52. bool dropable;
  53. bool needCollect;
  54. QString collTargetType;
  55. QString collAnim;
  56. QVector<EventConfig> eventConfig;
  57. StatusConfig(QString statusVal):statusValue(statusVal),multiHit(false),dropable(false),needCollect(false),initAnim("尚未选择"),clickAnim("尚未选择"),collAnim("尚未选择"){}
  58. };
  59. QVector<StatusConfig> statusConfig;
  60. // 容器
  61. struct ContainTable{
  62. QString key;
  63. QString res;
  64. QString initTimeline;
  65. QString clickTimeline;
  66. QString effectTimeline;
  67. QString vanishTimeline;
  68. QString zOrder;
  69. ContainTable(QString keyName):key(keyName),res("双击添加资源文件"){}
  70. };
  71. struct ContainerConfig{
  72. QString poolName;
  73. QString type;
  74. QVector<ContainTable> table;
  75. ContainerConfig(QString pool):poolName(pool),type("尚未选择"){}
  76. };
  77. QVector<ContainerConfig> container;
  78. //子元素
  79. struct ChildElem{
  80. QString name;
  81. QString container;
  82. ChildElem(QString childElemName):name(childElemName),container("尚未选择"){}
  83. };
  84. QVector<ChildElem> childElem;
  85. bool isSingleContainerKey(QString poolKey,QString newKey);
  86. bool isSingleChildElemName(QString newName);
  87. bool isSingleAnimName(QString newName);
  88. int getAnimIndex(QString animName);
  89. int getCollAnimIndex(QString name);
  90. int getStatusValIndex(QString statusVal);
  91. int getPoolIndex(QString poolName);
  92. QList<QString> getTimelineList(QString filePath);
  93. QMap<QString,QList<QString>> timelineListMap;
  94. };
  95. #endif // ELEMPROPERTYDATA_H