mirror of
https://github.com/vcmi/vcmi.git
synced 2025-09-16 09:26:28 +02:00
Show generic dialog if building was already visited
This commit is contained in:
@@ -54,6 +54,7 @@
|
||||
#include "../../lib/entities/building/CBuilding.h"
|
||||
#include "../../lib/mapObjects/CGHeroInstance.h"
|
||||
#include "../../lib/mapObjects/CGTownInstance.h"
|
||||
#include "../../lib/mapObjects/TownBuildingInstance.h"
|
||||
|
||||
|
||||
static bool useCompactCreatureBox()
|
||||
@@ -855,7 +856,10 @@ void CCastleBuildings::enterRewardable(BuildingID building)
|
||||
}
|
||||
else
|
||||
{
|
||||
LOCPLINT->cb->visitTownBuilding(town, building);
|
||||
if (town->rewardableBuildings.at(building)->wasVisited(town->visitingHero))
|
||||
enterBuilding(building);
|
||||
else
|
||||
LOCPLINT->cb->visitTownBuilding(town, building);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -165,6 +165,11 @@ void TownRewardableBuildingInstance::grantReward(ui32 rewardID, const CGHeroInst
|
||||
}
|
||||
}
|
||||
|
||||
bool TownRewardableBuildingInstance::wasVisited(const CGHeroInstance * contextHero) const
|
||||
{
|
||||
return wasVisitedBefore(contextHero);
|
||||
}
|
||||
|
||||
bool TownRewardableBuildingInstance::wasVisitedBefore(const CGHeroInstance * contextHero) const
|
||||
{
|
||||
switch (configuration.visitMode)
|
||||
|
@@ -70,6 +70,7 @@ class DLL_LINKAGE TownRewardableBuildingInstance : public TownBuildingInstance,
|
||||
public:
|
||||
void setProperty(ObjProperty what, ObjPropertyID identifier) override;
|
||||
void onHeroVisit(const CGHeroInstance * h) const override;
|
||||
bool wasVisited(const CGHeroInstance * contextHero) const override;
|
||||
|
||||
void newTurn(vstd::RNG & rand) const override;
|
||||
|
||||
|
Reference in New Issue
Block a user