1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-23 22:37:55 +02:00

make town title editable

This commit is contained in:
Laserlicht
2025-10-05 01:49:00 +02:00
parent da79b27547
commit f5d1657041
7 changed files with 120 additions and 14 deletions

View File

@@ -852,7 +852,7 @@ CBonusSystemNode & CGTownInstance::whatShouldBeAttached()
std::string CGTownInstance::getNameTranslated() const
{
return LIBRARY->generaltexth->translate(nameTextId);
return customName.empty() ? LIBRARY->generaltexth->translate(nameTextId) : customName;
}
std::string CGTownInstance::getNameTextID() const
@@ -865,6 +865,11 @@ void CGTownInstance::setNameTextId( const std::string & newName )
nameTextId = newName;
}
void CGTownInstance::setCustomName( const std::string & newName )
{
customName = newName;
}
const CArmedInstance * CGTownInstance::getUpperArmy() const
{
if(getGarrisonHero())

View File

@@ -46,6 +46,7 @@ class DLL_LINKAGE CGTownInstance : public CGDwelling, public IShipyard, public I
{
friend class CTownInstanceConstructor;
std::string nameTextId; // name of town
std::string customName;
std::map<BuildingID, TownRewardableBuildingInstance*> convertOldBuildings(std::vector<TownRewardableBuildingInstance*> oldVector);
std::set<BuildingID> builtBuildings;
@@ -75,6 +76,8 @@ public:
{
h & static_cast<CGDwelling&>(*this);
h & nameTextId;
if (h.version >= Handler::Version::CUSTOM_NAMES)
h & customName;
h & built;
h & destroyed;
h & identifier;
@@ -128,6 +131,7 @@ public:
std::string getNameTranslated() const;
std::string getNameTextID() const;
void setNameTextId(const std::string & newName);
void setCustomName(const std::string & newName);
//////////////////////////////////////////////////////////////////////////