mirror of
https://github.com/vcmi/vcmi.git
synced 2025-08-13 19:54:17 +02:00
Update town visual on capturing
This commit is contained in:
@@ -324,13 +324,13 @@ void CPlayerInterface::heroMoved(const TryMoveHero & details, bool verbose)
|
||||
if (!hero)
|
||||
return;
|
||||
|
||||
adventureInt->infoBar->requestPopAll();
|
||||
if (details.result == TryMoveHero::EMBARK || details.result == TryMoveHero::DISEMBARK)
|
||||
{
|
||||
if(hero->getRemovalSound() && hero->tempOwner == playerID)
|
||||
CCS->soundh->playSound(hero->getRemovalSound().get());
|
||||
}
|
||||
|
||||
adventureInt->infoBar->requestPopAll();
|
||||
if (details.result == TryMoveHero::EMBARK || details.result == TryMoveHero::DISEMBARK)
|
||||
{
|
||||
if(hero->getRemovalSound() && hero->tempOwner == playerID)
|
||||
CCS->soundh->playSound(hero->getRemovalSound().get());
|
||||
}
|
||||
|
||||
adventureInt->minimap->updateTile(hero->convertToVisitablePos(details.start));
|
||||
adventureInt->minimap->updateTile(hero->convertToVisitablePos(details.end));
|
||||
|
||||
@@ -372,12 +372,12 @@ void CPlayerInterface::heroMoved(const TryMoveHero & details, bool verbose)
|
||||
}
|
||||
}
|
||||
|
||||
if(details.stopMovement()) //hero failed to move
|
||||
{
|
||||
stillMoveHero.setn(STOP_MOVE);
|
||||
adventureInt->heroList->update(hero);
|
||||
return;
|
||||
}
|
||||
if(details.stopMovement()) //hero failed to move
|
||||
{
|
||||
stillMoveHero.setn(STOP_MOVE);
|
||||
adventureInt->heroList->update(hero);
|
||||
return;
|
||||
}
|
||||
|
||||
adventureInt->heroList->redraw();
|
||||
|
||||
@@ -1201,22 +1201,22 @@ void CPlayerInterface::showMapObjectSelectDialog(QueryID askID, const Component
|
||||
GH.pushInt(wnd);
|
||||
}
|
||||
|
||||
void CPlayerInterface::tileRevealed(const std::unordered_set<int3, ShashInt3> &pos)
|
||||
{
|
||||
EVENT_HANDLER_CALLED_BY_CLIENT;
|
||||
//FIXME: wait for dialog? Magi hut/eye would benefit from this but may break other areas
|
||||
for (auto & po : pos)
|
||||
adventureInt->minimap->updateTile(po);
|
||||
}
|
||||
|
||||
void CPlayerInterface::tileHidden(const std::unordered_set<int3, ShashInt3> &pos)
|
||||
{
|
||||
EVENT_HANDLER_CALLED_BY_CLIENT;
|
||||
for (auto & po : pos)
|
||||
adventureInt->minimap->updateTile(po);
|
||||
}
|
||||
|
||||
void CPlayerInterface::openHeroWindow(const CGHeroInstance *hero)
|
||||
void CPlayerInterface::tileRevealed(const std::unordered_set<int3, ShashInt3> &pos)
|
||||
{
|
||||
EVENT_HANDLER_CALLED_BY_CLIENT;
|
||||
//FIXME: wait for dialog? Magi hut/eye would benefit from this but may break other areas
|
||||
for (auto & po : pos)
|
||||
adventureInt->minimap->updateTile(po);
|
||||
}
|
||||
|
||||
void CPlayerInterface::tileHidden(const std::unordered_set<int3, ShashInt3> &pos)
|
||||
{
|
||||
EVENT_HANDLER_CALLED_BY_CLIENT;
|
||||
for (auto & po : pos)
|
||||
adventureInt->minimap->updateTile(po);
|
||||
}
|
||||
|
||||
void CPlayerInterface::openHeroWindow(const CGHeroInstance *hero)
|
||||
{
|
||||
boost::unique_lock<boost::recursive_mutex> un(*pim);
|
||||
GH.pushIntT<CHeroWindow>(hero);
|
||||
|
@@ -604,6 +604,13 @@ void ApplyClientNetPackVisitor::visitSetObjectProperty(SetObjectProperty & pack)
|
||||
if(gs.isVisible(gs.getObjInstance(pack.id), it->first))
|
||||
callInterfaceIfPresent(cl, it->first, &IGameEventsReceiver::objectPropertyChanged, &pack);
|
||||
}
|
||||
|
||||
if (pack.what == ObjProperty::OWNER)
|
||||
{
|
||||
// invalidate section of map view with our objec and force an update with new flag color
|
||||
CGI->mh->onObjectInstantRemove(gs.getObjInstance(pack.id));
|
||||
CGI->mh->onObjectInstantAdd(gs.getObjInstance(pack.id));
|
||||
}
|
||||
}
|
||||
|
||||
void ApplyClientNetPackVisitor::visitHeroLevelUp(HeroLevelUp & pack)
|
||||
|
Reference in New Issue
Block a user