mirror of
https://github.com/vcmi/vcmi.git
synced 2025-08-10 22:31:40 +02:00
Merge pull request #5467 from IvanSavenko/brotherhood_fix
[1.6.7] Fix Brotherhood displaying Thieves Guild UI on click instead of Tavern
This commit is contained in:
@@ -814,22 +814,26 @@ const CGHeroInstance * CCastleBuildings::getHero()
|
|||||||
|
|
||||||
void CCastleBuildings::buildingClicked(BuildingID building)
|
void CCastleBuildings::buildingClicked(BuildingID building)
|
||||||
{
|
{
|
||||||
BuildingID buildingToEnter = building;
|
std::vector<BuildingID> buildingsToTest;
|
||||||
for(;;)
|
|
||||||
|
for(BuildingID buildingToEnter = building;;)
|
||||||
{
|
{
|
||||||
const CBuilding *b = town->getTown()->buildings.find(buildingToEnter)->second;
|
const CBuilding *b = town->getTown()->buildings.find(buildingToEnter)->second;
|
||||||
|
|
||||||
if (buildingTryActivateCustomUI(buildingToEnter, building))
|
buildingsToTest.push_back(buildingToEnter);
|
||||||
return;
|
|
||||||
|
|
||||||
if (!b->upgrade.hasValue())
|
if (!b->upgrade.hasValue())
|
||||||
{
|
break;
|
||||||
enterBuilding(building);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
buildingToEnter = b->upgrade;
|
buildingToEnter = b->upgrade;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for(BuildingID buildingToEnter : boost::adaptors::reverse(buildingsToTest))
|
||||||
|
{
|
||||||
|
if (buildingTryActivateCustomUI(buildingToEnter, building))
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
enterBuilding(building);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CCastleBuildings::buildingTryActivateCustomUI(BuildingID buildingToTest, BuildingID buildingTarget)
|
bool CCastleBuildings::buildingTryActivateCustomUI(BuildingID buildingToTest, BuildingID buildingTarget)
|
||||||
|
Reference in New Issue
Block a user