elemPropertyData.cpp 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. #include "elemPropertyData.h"
  2. #include "plisthpp/redream.h"
  3. ElemPropertyData::ElemPropertyData()
  4. {
  5. iconPath = ":/icon/icon/菜狗.png";
  6. dropConfig = 0;
  7. }
  8. int ElemPropertyData::getKeyIndex(int poolIndex, QString key)
  9. {
  10. for(int i = 0;i<container[poolIndex].table.size();i++){
  11. if(key == container[poolIndex].table[i].key){
  12. return i;
  13. }
  14. }
  15. return -1;
  16. }
  17. int ElemPropertyData::getChildElemIndex(QString childElemName)
  18. {
  19. for(int i=0;i<childElem.size();i++){
  20. if(childElemName == childElem[i].name){
  21. return i;
  22. }
  23. }
  24. return -1;
  25. }
  26. int ElemPropertyData::getAnimIndex(QString animName)
  27. {
  28. for(int i=0;i<statusEffect.size();i++){
  29. if(statusEffect[i].name == animName){
  30. return i;
  31. }
  32. }
  33. return -1;
  34. }
  35. int ElemPropertyData::getCollAnimIndex(QString name)
  36. {
  37. for(int i=0;i<collAnim.size();i++){
  38. if(collAnim[i].name == name){
  39. return i;
  40. }
  41. }
  42. return -1;
  43. }
  44. int ElemPropertyData::getStatusValIndex(QString statusVal)
  45. {
  46. for(int i=0;i<statusConfig.size();i++){
  47. if(statusConfig[i].statusValue == statusVal){
  48. return i;
  49. }
  50. }
  51. return -1;
  52. }
  53. int ElemPropertyData::getPoolIndex(QString poolName)
  54. {
  55. for(int i=0;i<container.size();i++){
  56. if(container[i].poolName == poolName){
  57. return i;
  58. }
  59. }
  60. return -1;
  61. }
  62. QList<QString> ElemPropertyData::getTimelineList(QString filePath)
  63. {
  64. if(timelineListMap.find(filePath) == timelineListMap.end()){
  65. QList<QString> list = Redream::getInstance()->getTimelineFromRedream(filePath.toStdString());
  66. timelineListMap[filePath] = list;
  67. return list;
  68. }
  69. return timelineListMap[filePath];
  70. }
  71. void ElemPropertyData::readFundData(const QJsonObject &json)
  72. {
  73. if(json.contains("labelName") && json["labelName"].isString()){
  74. labelName = json["labelName"].toString();
  75. }
  76. if(json.contains("size") && json["size"].isString()){
  77. size = json["size"].toString();
  78. }
  79. if(json.contains("maxLayer") && json["maxLayer"].isString()){
  80. maxLayer = json["maxLayer"].toString();
  81. }
  82. if(json.contains("score") && json["score"].isString()){
  83. score = json["score"].toString();
  84. }
  85. if(json.contains("dropConfig") && json["maxLayer"].isDouble()){
  86. dropConfig = json["dropConfig"].toInt();
  87. }
  88. if(json.contains("iconPath") && json["iconPath"].isString()){
  89. iconPath = json["iconPath"].toString();
  90. }
  91. }
  92. void ElemPropertyData::writeFundData(QJsonObject &json) const
  93. {
  94. json["labelName"] = labelName;
  95. json["size"] = size;
  96. json["maxLayer"] = maxLayer;
  97. json["score"] = score;
  98. json["dropConfig"] = dropConfig;
  99. json["iconPath"] = iconPath;
  100. }