1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-25 22:42:04 +02:00

Remove ConstTransitivePtr from hero and town instances

This commit is contained in:
Ivan Savenko
2025-03-09 21:51:33 +00:00
parent 62234fcf92
commit 417ea6451a
57 changed files with 436 additions and 390 deletions

View File

@@ -992,7 +992,7 @@ void CGameState::initVisitingAndGarrisonedHeroes()
if (t->visitableAt(h->visitablePos()))
{
assert(t->visitingHero == nullptr);
assert(t->getVisitingHero() == nullptr);
t->setVisitingHero(h);
}
}
@@ -1000,9 +1000,9 @@ void CGameState::initVisitingAndGarrisonedHeroes()
}
for (auto hero : map->heroesOnMap)
{
if (hero->visitedTown)
if (hero->getVisitedTown())
{
assert (hero->visitedTown->visitingHero == hero);
assert (hero->getVisitedTown()->getVisitingHero() == hero);
}
}
}
@@ -1092,9 +1092,9 @@ UpgradeInfo CGameState::fillUpgradeInfo(const CStackInstance & stack) const
auto hero = dynamic_cast<const CGHeroInstance *>(stack.armyObj);
hero->fillUpgradeInfo(ret, stack);
if (hero->visitedTown)
if (hero->getVisitedTown())
{
hero->visitedTown->fillUpgradeInfo(ret, stack);
hero->getVisitedTown()->fillUpgradeInfo(ret, stack);
}
else
{
@@ -1382,8 +1382,8 @@ bool CGameState::checkForVictory(const PlayerColor & player, const EventConditio
case EventCondition::TRANSPORT:
{
const auto * t = getTown(condition.objectID);
bool garrisonedWon = t->garrisonHero && t->garrisonHero->getOwner() == player && t->garrisonHero->hasArt(condition.objectType.as<ArtifactID>());
bool visitingWon = t->visitingHero && t->visitingHero->getOwner() == player && t->visitingHero->hasArt(condition.objectType.as<ArtifactID>());
bool garrisonedWon = t->getGarrisonHero() && t->getGarrisonHero()->getOwner() == player && t->getGarrisonHero()->hasArt(condition.objectType.as<ArtifactID>());
bool visitingWon = t->getVisitingHero() && t->getVisitingHero()->getOwner() == player && t->getVisitingHero()->hasArt(condition.objectType.as<ArtifactID>());
return garrisonedWon || visitingWon;
}