mirror of
https://github.com/vcmi/vcmi.git
synced 2025-12-22 00:27:58 +02:00
Support roads and teams customization in engine
This commit is contained in:
@@ -230,6 +230,26 @@ void CMapGenOptions::setMapTemplate(const std::string & name)
|
||||
setMapTemplate(VLC->tplh->getTemplate(name));
|
||||
}
|
||||
|
||||
void CMapGenOptions::setRoadEnabled(const std::string & roadName, bool enable)
|
||||
{
|
||||
if(enable)
|
||||
disabledRoads.erase(roadName);
|
||||
else
|
||||
disabledRoads.insert(roadName);
|
||||
}
|
||||
|
||||
bool CMapGenOptions::isRoadEnabled(const std::string & roadName) const
|
||||
{
|
||||
return !disabledRoads.count(roadName);
|
||||
}
|
||||
|
||||
void CMapGenOptions::setPlayerTeam(PlayerColor color, TeamID team)
|
||||
{
|
||||
auto it = players.find(color);
|
||||
if(it == players.end()) assert(0);
|
||||
it->second.setTeam(team);
|
||||
}
|
||||
|
||||
void CMapGenOptions::finalize(CRandomGenerator & rand)
|
||||
{
|
||||
logGlobal->info("RMG map: %dx%d, %s underground", getWidth(), getHeight(), getHasTwoLevels() ? "WITH" : "NO");
|
||||
@@ -473,7 +493,7 @@ const CRmgTemplate * CMapGenOptions::getPossibleTemplate(CRandomGenerator & rand
|
||||
return *RandomGeneratorUtil::nextItem(templates, rand);
|
||||
}
|
||||
|
||||
CMapGenOptions::CPlayerSettings::CPlayerSettings() : color(0), startingTown(RANDOM_TOWN), playerType(EPlayerType::AI)
|
||||
CMapGenOptions::CPlayerSettings::CPlayerSettings() : color(0), startingTown(RANDOM_TOWN), playerType(EPlayerType::AI), team(TeamID::NO_TEAM)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -515,4 +535,14 @@ void CMapGenOptions::CPlayerSettings::setPlayerType(EPlayerType::EPlayerType val
|
||||
playerType = value;
|
||||
}
|
||||
|
||||
TeamID CMapGenOptions::CPlayerSettings::getTeam() const
|
||||
{
|
||||
return team;
|
||||
}
|
||||
|
||||
void CMapGenOptions::CPlayerSettings::setTeam(TeamID value)
|
||||
{
|
||||
team = value;
|
||||
}
|
||||
|
||||
VCMI_LIB_NAMESPACE_END
|
||||
|
||||
Reference in New Issue
Block a user