diff options
Diffstat (limited to 'sigmod/Map.cpp')
| -rw-r--r-- | sigmod/Map.cpp | 91 |
1 files changed, 29 insertions, 62 deletions
diff --git a/sigmod/Map.cpp b/sigmod/Map.cpp index 667b5524..0ab6e0ab 100644 --- a/sigmod/Map.cpp +++ b/sigmod/Map.cpp @@ -71,12 +71,10 @@ void Sigmod::Map::validate() TEST_BEGIN(); if (m_name.isEmpty()) emit(error("Name is empty")); - TEST(setFlyWarp, flyWarp); - TEST(setType, type); - if (!m_width) - emit(error("Map has no width")); - if (!m_height) - emit(error("Map has no height")); + TEST(flyWarp); + TEST(type); + TEST(width); + TEST(height); QSet<int> idChecker; QSet<QString> nameChecker; if (!effectCount()) @@ -147,64 +145,33 @@ QDomElement Sigmod::Map::save() const return xml; } -void Sigmod::Map::setName(const QString& name) -{ - CHECK(name); -} - -void Sigmod::Map::setFlyWarp(const int flyWarp) -{ - if ((flyWarp != -1) && !warpById(flyWarp)) - emit(error(bounds("flyWarp", flyWarp))); - else - CHECK(flyWarp); -} - -void Sigmod::Map::setType(const Type type) -{ - CHECK(type); -} - -void Sigmod::Map::setWidth(const int width) -{ - if (width <= 0) - emit(error(bounds("width", 1, INT_MAX, width))); - else - CHECK(width); -} +SETTER(Map, QString&, Name, name) +SETTER(Map, int, FlyWarp, flyWarp) +SETTER(Map, Type, Type, type) +SETTER(Map, int, Width, width) +SETTER(Map, int, Height, height) -void Sigmod::Map::setHeight(const int height) -{ - if (height <= 0) - emit(error(bounds("height", 1, INT_MAX, height))); - else - CHECK(height); -} +GETTER(Map, QString, name) +GETTER(Map, int, flyWarp) +GETTER(Map, Sigmod::Map::Type, type) +GETTER(Map, int, width) +GETTER(Map, int, height) -QString Sigmod::Map::name() const -{ - return m_name; -} - -int Sigmod::Map::flyWarp() const -{ - return m_flyWarp; -} - -Sigmod::Map::Type Sigmod::Map::type() const -{ - return m_type; -} - -int Sigmod::Map::width() const -{ - return m_width; -} - -int Sigmod::Map::height() const -{ - return m_height; -} +CHECK_DEFAULT(Map, QString&, name) +CHECK_BEGIN(Map, int, flyWarp) + if ((flyWarp != -1) && !warpById(flyWarp)) + { + EBOUNDS_IDX(flyWarp); + return false; + } +CHECK_END() +CHECK_DEFAULT(Map, Type, type) +CHECK_BEGIN(Map, int, width) + TBOUNDS(width, 1, INT_MAX) +CHECK_END() +CHECK_BEGIN(Map, int, height) + TBOUNDS(height, 1, INT_MAX) +CHECK_END() const Sigmod::MapEffect* Sigmod::Map::effect(const int index) const { |
