1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-05-31 22:59:54 +02:00
vcmi/lib/IBonusTypeHandler.h
Ivan Savenko 07a46ed03b Configurable icons for bonuses
It is now possible for mods (e.g. vcmi extras) to provide custom icons
for bonuses subtypes or for custom bonuses values without requiring
hardcoded check in vcmi.

All existing hardcoded checks have been removed.

Bonuses config json from mods is now actually loaded.
2025-02-28 14:51:32 +00:00

32 lines
770 B
C++

/*
* IBonusTypeHandler.h, part of VCMI engine
*
* Authors: listed in file AUTHORS in main folder
*
* License: GNU General Public License v2.0 or later
* Full text of license available in license.txt file, in main folder
*
*/
#pragma once
#include "filesystem/ResourcePath.h"
#include "IHandlerBase.h"
VCMI_LIB_NAMESPACE_BEGIN
class IBonusBearer;
struct Bonus;
///High level interface for BonusTypeHandler
class DLL_LINKAGE IBonusTypeHandler : public IHandlerBase
{
public:
virtual ~IBonusTypeHandler() = default;
virtual std::string bonusToString(const std::shared_ptr<Bonus> & bonus, const IBonusBearer * bearer, bool description) const = 0;
virtual ImagePath bonusToGraphics(const std::shared_ptr<Bonus> & bonus) const = 0;
};
VCMI_LIB_NAMESPACE_END