1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-23 22:37:55 +02:00

Completely remove IGameCallback class

- CClient now inherits directly from CPrivilegedInfoCallback, like
IGameCallback did before. However CClient no longer needs dummy
implementation of IGameEventCallback
- CGObjectInstance hierarchy now uses CPrivilegedInfoCallback for
callback. Actual events can only be emitted in calls that receive
IGameEventCallback pointer, e.g. heroVisit
- CGameHandler now inherits directly from both CPrivilegedInfoCallback
and IGameEventCallback as it did before via IGameCallback
This commit is contained in:
Ivan Savenko
2025-05-13 15:24:45 +03:00
parent f7d08a7288
commit 716da918f8
109 changed files with 854 additions and 933 deletions

View File

@@ -45,7 +45,7 @@ bool TimerPauseQuery::endsByPlayerAnswer() const
void CGarrisonDialogQuery::notifyObjectAboutRemoval(const CGObjectInstance * visitedObject, const CGHeroInstance * visitingHero) const
{
visitedObject->garrisonDialogClosed(visitingHero);
visitedObject->garrisonDialogClosed(*gh, visitingHero);
}
CGarrisonDialogQuery::CGarrisonDialogQuery(CGameHandler * owner, const CArmedInstance * up, const CArmedInstance * down):
@@ -122,7 +122,7 @@ bool CGarrisonDialogQuery::blocksPack(const CPackForServer * pack) const
void CBlockingDialogQuery::notifyObjectAboutRemoval(const CGObjectInstance * visitedObject, const CGHeroInstance * visitingHero) const
{
assert(answer);
caller->blockingDialogAnswered(visitingHero, *answer);
caller->blockingDialogAnswered(*gh, visitingHero, *answer);
}
CBlockingDialogQuery::CBlockingDialogQuery(CGameHandler * owner, const IObjectInterface * caller, const BlockingDialog & bd):
@@ -197,7 +197,7 @@ void CTeleportDialogQuery::notifyObjectAboutRemoval(const CGObjectInstance * vis
{
auto obj = dynamic_cast<const CGTeleport*>(visitedObject);
if(obj)
obj->teleportDialogAnswered(visitingHero, *answer, td.exits);
obj->teleportDialogAnswered(*gh, visitingHero, *answer, td.exits);
else
logGlobal->error("Invalid instance in teleport query");
}
@@ -225,7 +225,7 @@ void CHeroLevelUpDialogQuery::onRemoval(PlayerColor color)
void CHeroLevelUpDialogQuery::notifyObjectAboutRemoval(const CGObjectInstance * visitedObject, const CGHeroInstance * visitingHero) const
{
visitedObject->heroLevelUpDone(visitingHero);
visitedObject->heroLevelUpDone(*gh, visitingHero);
}
CCommanderLevelUpDialogQuery::CCommanderLevelUpDialogQuery(CGameHandler * owner, const CommanderLevelUp & Clu, const CGHeroInstance * Hero):
@@ -244,7 +244,7 @@ void CCommanderLevelUpDialogQuery::onRemoval(PlayerColor color)
void CCommanderLevelUpDialogQuery::notifyObjectAboutRemoval(const CGObjectInstance * visitedObject, const CGHeroInstance * visitingHero) const
{
visitedObject->heroLevelUpDone(visitingHero);
visitedObject->heroLevelUpDone(*gh, visitingHero);
}
CHeroMovementQuery::CHeroMovementQuery(CGameHandler * owner, const TryMoveHero & Tmh, const CGHeroInstance * Hero, bool VisitDestAfterVictory):