mirror of
https://github.com/AxioDL/PrimeWorldEditor.git
synced 2025-12-12 06:45:12 +00:00
Added the ability to add/remove POIs to the EGMC editor
This commit is contained in:
@@ -107,9 +107,14 @@ void CPoiMapModel::AddPOI(CScriptNode *pPOI)
|
||||
{
|
||||
if (!mModelMap.contains(pPOI))
|
||||
{
|
||||
int NewIndex = mpPoiToWorld->NumMappedPOIs();
|
||||
beginInsertRows(QModelIndex(), NewIndex, NewIndex);
|
||||
|
||||
QList<CModelNode*> *pList = new QList<CModelNode*>;
|
||||
mModelMap[pPOI] = pList;
|
||||
mpPoiToWorld->AddPoi(pPOI->Object()->InstanceID());
|
||||
|
||||
endInsertRows();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -127,6 +132,7 @@ void CPoiMapModel::AddMapping(const QModelIndex& rkIndex, CModelNode *pNode)
|
||||
|
||||
void CPoiMapModel::RemovePOI(const QModelIndex& rkIndex)
|
||||
{
|
||||
beginRemoveRows(QModelIndex(), rkIndex.row(), rkIndex.row());
|
||||
CScriptNode *pPOI = PoiNodePointer(rkIndex);
|
||||
|
||||
if (mModelMap.contains(pPOI))
|
||||
@@ -136,6 +142,7 @@ void CPoiMapModel::RemovePOI(const QModelIndex& rkIndex)
|
||||
}
|
||||
|
||||
mpPoiToWorld->RemovePoi(pPOI->Object()->InstanceID());
|
||||
endRemoveRows();
|
||||
}
|
||||
|
||||
void CPoiMapModel::RemoveMapping(const QModelIndex& rkIndex, CModelNode *pNode)
|
||||
@@ -152,6 +159,11 @@ void CPoiMapModel::RemoveMapping(const QModelIndex& rkIndex, CModelNode *pNode)
|
||||
mpPoiToWorld->RemovePoiMeshMap(pPOI->Object()->InstanceID(), pNode->FindMeshID());
|
||||
}
|
||||
|
||||
bool CPoiMapModel::IsPoiTracked(CScriptNode *pPOI) const
|
||||
{
|
||||
return mModelMap.contains(pPOI);
|
||||
}
|
||||
|
||||
bool CPoiMapModel::IsModelMapped(const QModelIndex& rkIndex, CModelNode *pNode) const
|
||||
{
|
||||
if (!pNode) return false;
|
||||
|
||||
Reference in New Issue
Block a user