mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-22 22:13:35 +02:00
code review
This commit is contained in:
parent
2d60252e4c
commit
0e1bb73994
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user