1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-17 00:07:41 +02:00

Map objects now use shared_ptr (game)

This commit is contained in:
Ivan Savenko
2025-03-13 19:42:18 +00:00
parent 2ca1748e96
commit 0ada2a5ebd
49 changed files with 487 additions and 613 deletions

View File

@ -147,15 +147,15 @@ void CMapEditManager::drawRiver(RiverId riverType, vstd::RNG* customGen)
terrainSel.clearSelection();
}
void CMapEditManager::insertObject(CGObjectInstance * obj)
void CMapEditManager::insertObject(std::shared_ptr<CGObjectInstance> obj)
{
execute(std::make_unique<CInsertObjectOperation>(map, obj));
}
void CMapEditManager::insertObjects(std::set<CGObjectInstance*>& objects)
void CMapEditManager::insertObjects(std::set<std::shared_ptr<CGObjectInstance>>& objects)
{
auto composedOperation = std::make_unique<CComposedOperation>(map);
for(auto * obj : objects)
for(auto obj : objects)
{
composedOperation->addOperation(std::make_unique<CInsertObjectOperation>(map, obj));
}
@ -172,10 +172,10 @@ void CMapEditManager::removeObject(CGObjectInstance * obj)
execute(std::make_unique<CRemoveObjectOperation>(map, obj));
}
void CMapEditManager::removeObjects(std::set<CGObjectInstance*> & objects)
void CMapEditManager::removeObjects(std::set<CGObjectInstance *> & objects)
{
auto composedOperation = std::make_unique<CComposedOperation>(map);
for(auto * obj : objects)
for(auto obj : objects)
{
composedOperation->addOperation(std::make_unique<CRemoveObjectOperation>(map, obj));
}