|
@@ -209,6 +209,15 @@ void DataManager::changeAnimTable(QString elem, QString newData, int row, int co
|
|
|
else if (column == 2) elements[elem]->statusEffect[row].timeline = newData;
|
|
|
else if (column == 3) elements[elem]->statusEffect[row].zOrder = newData;
|
|
|
}
|
|
|
+void DataManager::copyAnim(QString elem, QString animName, int copyIndex)
|
|
|
+{
|
|
|
+ ElemPropertyData::StatusEffect anim(animName);
|
|
|
+ ElemPropertyData::StatusEffect copyData = elements[elem]->statusEffect[copyIndex];
|
|
|
+ anim.res = copyData.res;
|
|
|
+ anim.timeline = copyData.timeline;
|
|
|
+ anim.zOrder = copyData.zOrder;
|
|
|
+ elements[elem]->statusEffect.push_back(anim);
|
|
|
+}
|
|
|
|
|
|
//收集动画
|
|
|
QString DataManager::getAnimType(QString elem, int index)
|
|
@@ -324,6 +333,22 @@ void DataManager::updateAllDropState(QString elem, bool state)
|
|
|
elements[elem]->statusConfig[i].dropable = state;
|
|
|
}
|
|
|
}
|
|
|
+void DataManager::copyStatus(QString elem, QString statusVal, int copyIndex)
|
|
|
+{
|
|
|
+ ElemPropertyData::StatusConfig status(statusVal);
|
|
|
+ ElemPropertyData::StatusConfig copyData = elements[elem]->statusConfig[copyIndex];
|
|
|
+ status.initAnim = copyData.initAnim;
|
|
|
+ status.clickAnim = copyData.clickAnim;
|
|
|
+ status.multiHit = copyData.multiHit;
|
|
|
+ status.dropable = copyData.dropable;
|
|
|
+ if(copyData.needCollect){
|
|
|
+ status.needCollect = true;
|
|
|
+ status.collTargetType = copyData.collTargetType;
|
|
|
+ status.collAnim = copyData.collAnim;
|
|
|
+ }
|
|
|
+ status.eventConfig = copyData.eventConfig;
|
|
|
+ elements[elem]->statusConfig.push_back(status);
|
|
|
+}
|
|
|
|
|
|
//容器池
|
|
|
ElemPropertyData::ContainerConfig DataManager::getContainData(QString elem,int index)
|
|
@@ -353,6 +378,9 @@ void DataManager::addPool(QString elem, QString poolName)
|
|
|
}
|
|
|
void DataManager::delPool(QString elem, int index)
|
|
|
{
|
|
|
+ std::cout<<"current pool index:"<<index<<std::endl;
|
|
|
+ std::cout<<"pool size:"<<elements[elem]->container.size()<<std::endl;
|
|
|
+ std::cout<<qPrintable(elements[elem]->container[index].poolName)<<std::endl;
|
|
|
elements[elem]->container.remove(index);
|
|
|
}
|
|
|
void DataManager::changePoolName(QString elem, int index, QString newName)
|
|
@@ -377,6 +405,18 @@ void DataManager::changeContainType(QString elem, int poolIndex, QString poolTyp
|
|
|
{
|
|
|
elements[elem]->container[poolIndex].type = poolType;
|
|
|
}
|
|
|
+void DataManager::copyKey(QString elem, int poolIndex, QString keyName, int copyIndex)
|
|
|
+{
|
|
|
+ ElemPropertyData::ContainTable copyData = elements[elem]->container[poolIndex].table[copyIndex];
|
|
|
+ ElemPropertyData::ContainTable key(keyName);
|
|
|
+ key.clickTimeline = copyData.clickTimeline;
|
|
|
+ key.effectTimeline = copyData.effectTimeline;
|
|
|
+ key.initTimeline = copyData.initTimeline;
|
|
|
+ key.res = copyData.res;
|
|
|
+ key.vanishTimeline = copyData.vanishTimeline;
|
|
|
+ key.zOrder = copyData.zOrder;
|
|
|
+ elements[elem]->container[poolIndex].table.push_back(key);
|
|
|
+}
|
|
|
|
|
|
//子元素
|
|
|
QVector<ElemPropertyData::ChildElem> DataManager::getChildElemTable(QString elem)
|
|
@@ -559,10 +599,6 @@ bool DataManager::exportIsValid()
|
|
|
exportMessage = elemMessage+"\n状态"+statusVec[j].statusValue+"收集的目标类型必须是大于0的数字";
|
|
|
return false;
|
|
|
}
|
|
|
- if(statusVec[j].collAnim == "尚未选择"){
|
|
|
- exportMessage = elemMessage+"\n状态"+statusVec[j].statusValue+"未选择收集动画";
|
|
|
- return false;
|
|
|
- }
|
|
|
}
|
|
|
//事件配置
|
|
|
QVector<ElemPropertyData::EventConfig> eventVec = statusVec[j].eventConfig;
|