123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- #include "dataManager.h"
- DataManager* DataManager::getInstance()
- {
- static DataManager dataManager;
- return &dataManager;
- }
- DataManager::DataManager()
- {
- jsonTemp = new ReadJsonSrc(":/file/file/template.json");
- }
- DataManager::~DataManager()
- {
- delete jsonTemp;
- }
- //模板配置
- QVector<ReadJsonSrc::Fields> DataManager::getTempFields(QString key, QString name)
- {
- QVector<ReadJsonSrc::Fields> nullVec;
- int index = jsonTemp->getTemplateIndex(key,name);
- if(index == -1) return nullVec;
- return jsonTemp->templateMap[key][index].fields;
- }
- void DataManager::updateTempData()
- {
- ReadJsonSrc* tmp = jsonTemp;
- jsonTemp = new ReadJsonSrc(":/file/file/template.json");
- delete tmp;
- }
- QStringList DataManager::getList(QString elem,ListType listType)
- {
- QStringList list;
- if(listType == ListType::Anim){
- for(const auto &i:elements[elem]->statusEffect) list.push_back(i.name);
- }
- else if(listType == ListType::CollAnim){
- for(const auto &i:elements[elem]->collAnim) list.push_back(i.name);
- }
- else if(listType == ListType::Pool){
- for(const auto &i:elements[elem]->container) list.push_back(i.poolName);
- }
- else if(listType == ListType::AnimType){
- for(const auto &i:jsonTemp->templateMap["collAnimTemp"]) list.push_back(i.name);
- }
- return list;
- }
- //元素及其基础属性
- bool DataManager::existElem(QString elemName)
- {
- return elements.contains(elemName);
- }
- void DataManager::addElem(QString elemName)
- {
- elements[elemName] = new ElemPropertyData();
- }
- void DataManager::delElem(QString elemName)
- {
- delete elements[elemName];
- elements.remove(elemName);
- }
- void DataManager::changeElemName(QString oriName, QString newName)
- {
- ElemPropertyData* tmp = elements[oriName];
- elements.remove(oriName);
- elements[newName] = tmp;
- }
- void DataManager::changeMarkValue(QString elem, QString val)
- {
- elements[elem]->labelName = val;
- }
- void DataManager::changeSize(QString elem, QString val)
- {
- elements[elem]->size = val;
- }
- void DataManager::changeMaxLayer(QString elem, QString val)
- {
- elements[elem]->maxLayer = val;
- }
- void DataManager::changeScore(QString elem, QString val)
- {
- elements[elem]->score = val;
- }
- void DataManager::changeDropConfig(QString elem, int val)
- {
- elements[elem]->dropConfig = val;
- }
- void DataManager::changeIconPath(QString elem, QString iconPath)
- {
- elements[elem]->iconPath = iconPath;
- }
- QString DataManager::getMarkValue(QString elem)
- {
- return elements[elem]->labelName;
- }
- QString DataManager::getSize(QString elem)
- {
- return elements[elem]->size;
- }
- QString DataManager::getMaxLayer(QString elem)
- {
- return elements[elem]->maxLayer;
- }
- QString DataManager::getScore(QString elem)
- {
- return elements[elem]->score;
- }
- int DataManager::getDropConfig(QString elem)
- {
- return elements[elem]->dropConfig;
- }
- QString DataManager::getIconPath(QString elem)
- {
- return elements[elem]->iconPath;
- }
- //状态与效果动画
- QVector<ElemPropertyData::StatusEffect> DataManager::getAnimVec(QString elem)
- {
- return elements[elem]->statusEffect;
- }
- QStringList DataManager::getTimelineList(QString elem,QString filePath)
- {
- return elements[elem]->getTimelineList(filePath);
- }
- bool DataManager::existAnim(QString elem,QString animName)
- {
- if(elements[elem]->getAnimIndex(animName) == -1) return false;
- return true;
- }
- void DataManager::addAnim(QString elem, QString animName)
- {
- elements[elem]->statusEffect.push_back(ElemPropertyData::StatusEffect(animName));
- }
- void DataManager::delAnim(QString elem,int index)
- {
- elements[elem]->statusEffect.remove(index);
- }
- void DataManager::changeAnimTable(QString elem, QString newData, int row, int column)
- {
- if(column == 0) elements[elem]->statusEffect[row].name = newData;
- else if(column == 1) elements[elem]->statusEffect[row].res = newData;
- else if (column == 2) elements[elem]->statusEffect[row].timeline = newData;
- else if (column == 3) elements[elem]->statusEffect[row].zOrder = newData;
- }
- //收集动画
- QString DataManager::getAnimType(QString elem, int index)
- {
- return elements[elem]->collAnim[index].type;
- }
- void DataManager::setAnimType(QString elem, QString newType, int index)
- {
- elements[elem]->collAnim[index].type = newType;
- elements[elem]->collAnim[index].dataMap.clear();
- }
- QMap<QString,QString> DataManager::getCollAnimDataMap(QString elem, int index)
- {
- return elements[elem]->collAnim[index].dataMap;
- }
- void DataManager::setCollAnimDataMapVal(QString elem, int index, QString key, QString val)
- {
- elements[elem]->collAnim[index].dataMap[key] = val;
- }
- bool DataManager::existCollAnim(QString elem, QString collAnimName)
- {
- if(elements[elem]->getCollAnimIndex(collAnimName) == -1) return false;
- return true;
- }
- void DataManager::addCollAnim(QString elem,QString collAnimName)
- {
- ElemPropertyData::CollAnim collAnim(collAnimName);
- elements[elem]->collAnim.push_back(collAnim);
- }
- void DataManager::delCollAnim(QString elem,int index)
- {
- elements[elem]->collAnim.remove(index);
- }
- void DataManager::changeCollAnimName(QString elem,int index,QString newName)
- {
- elements[elem]->collAnim[index].name = newName;
- }
|