mirror of
https://github.com/vcmi/vcmi.git
synced 2025-08-13 19:54:17 +02:00
Fix minimap updating on hero loss
This commit is contained in:
@@ -1530,6 +1530,12 @@ void CPlayerInterface::objectRemoved(const CGObjectInstance * obj)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CPlayerInterface::objectRemovedAfter()
|
||||||
|
{
|
||||||
|
EVENT_HANDLER_CALLED_BY_CLIENT;
|
||||||
|
adventureInt->minimap->update();
|
||||||
|
}
|
||||||
|
|
||||||
void CPlayerInterface::playerBlocked(int reason, bool start)
|
void CPlayerInterface::playerBlocked(int reason, bool start)
|
||||||
{
|
{
|
||||||
if(reason == PlayerBlocked::EReason::UPCOMING_BATTLE)
|
if(reason == PlayerBlocked::EReason::UPCOMING_BATTLE)
|
||||||
|
@@ -176,6 +176,7 @@ public:
|
|||||||
void centerView (int3 pos, int focusTime) override;
|
void centerView (int3 pos, int focusTime) override;
|
||||||
void objectPropertyChanged(const SetObjectProperty * sop) override;
|
void objectPropertyChanged(const SetObjectProperty * sop) override;
|
||||||
void objectRemoved(const CGObjectInstance *obj) override;
|
void objectRemoved(const CGObjectInstance *obj) override;
|
||||||
|
void objectRemovedAfter() override;
|
||||||
void playerBlocked(int reason, bool start) override;
|
void playerBlocked(int reason, bool start) override;
|
||||||
void gameOver(PlayerColor player, const EVictoryLossCheckResult & victoryLossCheckResult) override;
|
void gameOver(PlayerColor player, const EVictoryLossCheckResult & victoryLossCheckResult) override;
|
||||||
void playerStartsTurn(PlayerColor player) override; //called before yourTurn on active itnerface
|
void playerStartsTurn(PlayerColor player) override; //called before yourTurn on active itnerface
|
||||||
|
@@ -429,6 +429,8 @@ void ApplyFirstClientNetPackVisitor::visitRemoveObject(RemoveObject & pack)
|
|||||||
void ApplyClientNetPackVisitor::visitRemoveObject(RemoveObject & pack)
|
void ApplyClientNetPackVisitor::visitRemoveObject(RemoveObject & pack)
|
||||||
{
|
{
|
||||||
cl.invalidatePaths();
|
cl.invalidatePaths();
|
||||||
|
for(auto i=cl.playerint.begin(); i!=cl.playerint.end(); i++)
|
||||||
|
i->second->objectRemovedAfter();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ApplyFirstClientNetPackVisitor::visitTryMoveHero(TryMoveHero & pack)
|
void ApplyFirstClientNetPackVisitor::visitTryMoveHero(TryMoveHero & pack)
|
||||||
|
@@ -127,6 +127,7 @@ public:
|
|||||||
virtual void requestRealized(PackageApplied *pa){};
|
virtual void requestRealized(PackageApplied *pa){};
|
||||||
virtual void objectPropertyChanged(const SetObjectProperty * sop){}; //eg. mine has been flagged
|
virtual void objectPropertyChanged(const SetObjectProperty * sop){}; //eg. mine has been flagged
|
||||||
virtual void objectRemoved(const CGObjectInstance *obj){}; //eg. collected resource, picked artifact, beaten hero
|
virtual void objectRemoved(const CGObjectInstance *obj){}; //eg. collected resource, picked artifact, beaten hero
|
||||||
|
virtual void objectRemovedAfter(){}; //eg. collected resource, picked artifact, beaten hero
|
||||||
virtual void playerBlocked(int reason, bool start){}; //reason: 0 - upcoming battle
|
virtual void playerBlocked(int reason, bool start){}; //reason: 0 - upcoming battle
|
||||||
virtual void gameOver(PlayerColor player, const EVictoryLossCheckResult & victoryLossCheckResult) {}; //player lost or won the game
|
virtual void gameOver(PlayerColor player, const EVictoryLossCheckResult & victoryLossCheckResult) {}; //player lost or won the game
|
||||||
virtual void playerStartsTurn(PlayerColor player){};
|
virtual void playerStartsTurn(PlayerColor player){};
|
||||||
|
@@ -2016,7 +2016,7 @@ void NewTurn::applyGs(CGameState *gs)
|
|||||||
|
|
||||||
for(const auto & re : res)
|
for(const auto & re : res)
|
||||||
{
|
{
|
||||||
assert(i->first < PlayerColor::PLAYER_LIMIT);
|
assert(re.first < PlayerColor::PLAYER_LIMIT);
|
||||||
gs->getPlayerState(re.first)->resources = re.second;
|
gs->getPlayerState(re.first)->resources = re.second;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user