1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-15 00:05:02 +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

@ -320,7 +320,7 @@ bool MarketInstanceConstructor::hasDescription() const
return !descriptionTextID.empty();
}
CGMarket * MarketInstanceConstructor::createObject(IGameCallback * cb) const
std::shared_ptr<CGMarket> MarketInstanceConstructor::createObject(IGameCallback * cb) const
{
if(marketModes.size() == 1)
{
@ -328,13 +328,13 @@ CGMarket * MarketInstanceConstructor::createObject(IGameCallback * cb) const
{
case EMarketMode::ARTIFACT_RESOURCE:
case EMarketMode::RESOURCE_ARTIFACT:
return new CGBlackMarket(cb);
return std::make_shared<CGBlackMarket>(cb);
case EMarketMode::RESOURCE_SKILL:
return new CGUniversity(cb);
return std::make_shared<CGUniversity>(cb);
}
}
return new CGMarket(cb);
return std::make_shared<CGMarket>(cb);
}
const std::set<EMarketMode> & MarketInstanceConstructor::availableModes() const