mirror of
				https://github.com/vcmi/vcmi.git
				synced 2025-10-31 00:07:39 +02:00 
			
		
		
		
	code review
This commit is contained in:
		| @@ -37,18 +37,11 @@ CampaignRegions::RegionDescription CampaignRegions::RegionDescription::fromJson( | ||||
| { | ||||
| 	CampaignRegions::RegionDescription rd; | ||||
| 	rd.infix = node["infix"].String(); | ||||
| 	rd.xpos = static_cast<int>(node["x"].Float()); | ||||
| 	rd.ypos = static_cast<int>(node["y"].Float()); | ||||
| 	rd.pos = Point(static_cast<int>(node["x"].Float()), static_cast<int>(node["y"].Float())); | ||||
| 	if(!node["labelPos"].isNull()) | ||||
| 	{ | ||||
| 		rd.xLabelpos = static_cast<int>(node["labelPos"]["x"].Float()); | ||||
| 		rd.yLabelpos = static_cast<int>(node["labelPos"]["y"].Float()); | ||||
| 	} | ||||
| 		rd.labelPos = Point(static_cast<int>(node["labelPos"]["x"].Float()), static_cast<int>(node["labelPos"]["y"].Float())); | ||||
| 	else | ||||
| 	{ | ||||
| 		rd.xLabelpos = std::nullopt; | ||||
| 		rd.yLabelpos = std::nullopt; | ||||
| 	} | ||||
| 		rd.labelPos = std::nullopt; | ||||
| 	return rd; | ||||
| } | ||||
|  | ||||
| @@ -90,16 +83,13 @@ ImagePath CampaignRegions::getBackgroundName() const | ||||
| Point CampaignRegions::getPosition(CampaignScenarioID which) const | ||||
| { | ||||
| 	auto const & region = regions[which.getNum()]; | ||||
| 	return Point(region.xpos, region.ypos); | ||||
| 	return region.pos; | ||||
| } | ||||
|  | ||||
| std::optional<Point> CampaignRegions::getLabelPosition(CampaignScenarioID which) const | ||||
| { | ||||
| 	auto const & region = regions[which.getNum()]; | ||||
| 	if(region.xLabelpos && region.yLabelpos) | ||||
| 		return Point(*region.xLabelpos, *region.yLabelpos); | ||||
| 	else | ||||
| 		return std::nullopt; | ||||
| 	return region.labelPos; | ||||
| } | ||||
|  | ||||
| ImagePath CampaignRegions::getNameFor(CampaignScenarioID which, int colorIndex, std::string type) const | ||||
|   | ||||
| @@ -16,6 +16,7 @@ | ||||
| #include "CampaignConstants.h" | ||||
| #include "CampaignScenarioPrologEpilog.h" | ||||
| #include "../gameState/HighScore.h" | ||||
| #include "../Point.h" | ||||
|  | ||||
| VCMI_LIB_NAMESPACE_BEGIN | ||||
|  | ||||
| @@ -27,7 +28,6 @@ class CMap; | ||||
| class CMapHeader; | ||||
| class CMapInfo; | ||||
| class JsonNode; | ||||
| class Point; | ||||
| class IGameCallback; | ||||
|  | ||||
| class DLL_LINKAGE CampaignRegions | ||||
| @@ -40,20 +40,21 @@ class DLL_LINKAGE CampaignRegions | ||||
| 	struct DLL_LINKAGE RegionDescription | ||||
| 	{ | ||||
| 		std::string infix; | ||||
| 		int xpos; | ||||
| 		int ypos; | ||||
| 		std::optional<int> xLabelpos; | ||||
| 		std::optional<int> yLabelpos; | ||||
| 		Point pos; | ||||
| 		std::optional<Point> labelPos; | ||||
|  | ||||
| 		template <typename Handler> void serialize(Handler &h) | ||||
| 		{ | ||||
| 			h & infix; | ||||
| 			h & xpos; | ||||
| 			h & ypos; | ||||
| 			if (h.version >= Handler::Version::REGION_LABEL) | ||||
| 			{ | ||||
| 				h & xLabelpos; | ||||
| 				h & yLabelpos; | ||||
| 				h & pos; | ||||
| 				h & labelPos; | ||||
| 			} | ||||
| 			else | ||||
| 			{ | ||||
| 				h & pos.x; | ||||
| 				h & pos.y; | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user