#ifndef ELEMPROPERTYDATA_H #define ELEMPROPERTYDATA_H #include #include #include class ElemPropertyData { public: ElemPropertyData(); //基础属性 QString labelName; QString size; QString maxLayer; QString score; int dropConfig; QString iconPath; //状态与效果动画 struct StatusEffect{ QString name; QString res; QString timeline; QString zOrder; StatusEffect(QString animName):name(animName),res("双击添加资源文件"){} }; QVector statusEffect; //收集动画 struct CollAnim{ QString name; QString type; QString anim; QString node; QString shadow; CollAnim(QString collAnimName):name(collAnimName){} }; QVector collAnim; // 状态配置 // 事件配置 struct EventConfig{ QString name; bool consisColor; int changeMagnitude; QString specialEffect; bool elimATLattices; QString triggerAction; EventConfig():consisColor(false),changeMagnitude(0),elimATLattices(false) {} }; struct StatusConfig{ QString statusValue; QString initAnim; QString clickAnim; bool multiHit; bool dropable; bool needCollect; QString collTargetType; QString collAnim; QVector eventConfig; StatusConfig(QString statusVal):statusValue(statusVal),multiHit(false),dropable(false),needCollect(false){} }; QVector statusConfig; // 容器 struct ContainTable{ QString key; QString res; QString initTimeline; QString clickTimeline; QString effectTimeline; QString vanishTimeline; QString zOrder; ContainTable(QString keyName):key(keyName),res("双击添加资源文件"){} }; struct ContainerConfig{ QString poolName; QString type; QVector table; ContainerConfig(QString pool):poolName(pool){} }; QVector container; struct ChildElem{ QString name; QString container; ChildElem(QString childElemName):name(childElemName),container("尚未选择池子"){} }; QVector childElem; bool isSingleContainerKey(QString poolKey,QString newKey); bool isSingleChildElemName(QString newName); bool isSingleAnimName(QString newName); int getCollAnimIndex(QString name); int getStatusValIndex(QString statusVal); int getPoolIndex(QString poolName); QList getTimelineList(QString filePath); QMap> timelineListMap; }; #endif // ELEMPROPERTYDATA_H