Feature additions and improvements for pick mode and the POI -> World editor

This commit is contained in:
parax0
2016-01-16 12:57:20 -07:00
parent 5c3a37ca4a
commit 440c3ad484
19 changed files with 331 additions and 100 deletions

View File

@@ -146,16 +146,26 @@ void CPoiMapModel::RemoveMapping(const QModelIndex& rkIndex, CModelNode *pNode)
{
QList<CModelNode*> *pList = mModelMap[pPOI];
pList->removeOne(pNode);
if (pList->isEmpty())
RemovePOI(rkIndex);
else
mpPoiToWorld->RemovePoiMeshMap(pPOI->Object()->InstanceID(), pNode->FindMeshID());
mpPoiToWorld->RemovePoiMeshMap(pPOI->Object()->InstanceID(), pNode->FindMeshID());
}
else
mpPoiToWorld->RemovePoiMeshMap(pPOI->Object()->InstanceID(), pNode->FindMeshID());
}
bool CPoiMapModel::IsModelMapped(const QModelIndex& rkIndex, CModelNode *pNode) const
{
if (!pNode) return false;
CScriptNode *pPOI = PoiNodePointer(rkIndex);
if (mModelMap.contains(pPOI))
{
QList<CModelNode*> *pList = mModelMap[pPOI];
return (pList->contains(pNode));
}
else return false;
}
CScriptNode* CPoiMapModel::PoiNodePointer(const QModelIndex& rkIndex) const
{
if ((u32) rkIndex.row() < mpPoiToWorld->NumMappedPOIs())