1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-15 00:05:02 +02:00

Implemented optional descriptions for market map objects

It is now possible to define description of an object with 'market'
handler that will be shown on right-clicking the object.

Similarly, added description to right-click popup to Hill Fort.
This commit is contained in:
Ivan Savenko
2024-10-30 13:20:21 +00:00
parent 12d618fe17
commit dd7d190a58
6 changed files with 61 additions and 2 deletions

View File

@ -205,6 +205,12 @@ AnimationPath BoatInstanceConstructor::getBoatAnimationName() const
void MarketInstanceConstructor::initTypeData(const JsonNode & input)
{
if (!input["description"].isNull())
{
description = input["description"].String();
VLC->generaltexth->registerString(input.getModScope(), TextIdentifier(getBaseTextID(), "description"), description);
}
for(auto & element : input["modes"].Vector())
{
if(MappedKeys::MARKET_NAMES_TO_TYPES.count(element.String()))
@ -218,6 +224,11 @@ void MarketInstanceConstructor::initTypeData(const JsonNode & input)
speech = input["speech"].String();
}
bool MarketInstanceConstructor::hasDescription() const
{
return !description.empty();
}
CGMarket * MarketInstanceConstructor::createObject(IGameCallback * cb) const
{
if(marketModes.size() == 1)