summaryrefslogtreecommitdiffstats
path: root/sigmod/MapTrainer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sigmod/MapTrainer.cpp')
-rw-r--r--sigmod/MapTrainer.cpp103
1 files changed, 31 insertions, 72 deletions
diff --git a/sigmod/MapTrainer.cpp b/sigmod/MapTrainer.cpp
index b4b5fa33..65439946 100644
--- a/sigmod/MapTrainer.cpp
+++ b/sigmod/MapTrainer.cpp
@@ -68,10 +68,10 @@ void Sigmod::MapTrainer::validate()
TEST_BEGIN();
if (m_name.isEmpty())
emit(error("Name is empty"));
- TEST(setTrainerClass, trainerClass);
- TEST(setCoordinate, coordinate);
- TEST(setNumberFight, numberFight);
- TEST(setLeadTeamMember, leadTeamMember);
+ TEST(trainerClass);
+ TEST(coordinate);
+ TEST(numberFight);
+ TEST(leadTeamMember);
if (!teamMemberCount())
emit(error("There are no team members"));
QSet<int> idChecker;
@@ -89,6 +89,7 @@ void Sigmod::MapTrainer::load(const QDomElement& xml)
LOAD(coordinate);
LOAD(numberFight);
LOAD(script);
+ LOAD(leadTeamMember);
LOAD_SUB(newTeamMember, MapTrainerTeamMember);
LOAD(leadTeamMember);
}
@@ -101,82 +102,40 @@ QDomElement Sigmod::MapTrainer::save() const
SAVE(coordinate);
SAVE(numberFight);
SAVE(script);
+ SAVE(leadTeamMember);
SAVE_SUB(MapTrainerTeamMember, teamMembers);
return xml;
}
-void Sigmod::MapTrainer::setName(const QString& name)
-{
- CHECK(name);
-}
+SETTER(MapTrainer, QString&, Name, name)
+SETTER(MapTrainer, int, TrainerClass, trainerClass)
+SETTER(MapTrainer, QPoint&, Coordinate, coordinate)
+SETTER(MapTrainer, int, NumberFight, numberFight)
+SETTER(MapTrainer, Sigcore::Script&, Script, script)
+SETTER(MapTrainer, int, LeadTeamMember, leadTeamMember)
-void Sigmod::MapTrainer::setTrainerClass(const int trainerClass)
-{
- if (!sigmod()->trainerById(trainerClass))
- emit(error(bounds("trainerClass", trainerClass)));
- else
- CHECK(trainerClass);
-}
+GETTER(MapTrainer, QString, name)
+GETTER(MapTrainer, int, trainerClass)
+GETTER(MapTrainer, QPoint, coordinate)
+GETTER(MapTrainer, int, numberFight)
+GETTER(MapTrainer, Sigcore::Script, script)
+GETTER(MapTrainer, int, leadTeamMember)
-void Sigmod::MapTrainer::setCoordinate(const QPoint& coordinate)
-{
+CHECK(MapTrainer, QString&, name)
+CHECK_INDEX(MapTrainer, int, trainerClass, sigmod(), trainer)
+CHECK_BEGIN(MapTrainer, QPoint&, coordinate)
const Map* map = qobject_cast<const Map*>(parent());
- if ((coordinate.x() < 0) || (coordinate.y() < 0) || (map->width() <= coordinate.x()) || (map->height() <= coordinate.y()))
- emit(error(bounds("coordinate", QPoint(0, 0), QPoint(map->width(), map->height()), coordinate)));
- else
- CHECK(coordinate);
-}
-
-void Sigmod::MapTrainer::setNumberFight(const int numberFight)
-{
- if ((numberFight <= 0) || (sigmod()->rules()->maxFight() < numberFight))
- emit(error(bounds("numberFight", 1, sigmod()->rules()->maxFight(), numberFight)));
- else
- CHECK(numberFight);
-}
-
-void Sigmod::MapTrainer::setScript(const Sigcore::Script& script)
-{
- CHECK(script);
-}
-
-void Sigmod::MapTrainer::setLeadTeamMember(const int leadTeamMember)
-{
+ TBOUNDS_MOD(coordinate_x, 0, map->width() - 1, coordinate.x())
+ TBOUNDS_MOD(coordinate_y, 0, map->height() - 1, coordinate.y())
+CHECK_END()
+CHECK_BOUNDS(MapTrainer, int, numberFight, 1, sigmod()->rules()->maxFight())
+CHECK_BEGIN(MapTrainer, int, leadTeamMember)
if (!teamMemberById(leadTeamMember))
- emit(error(bounds("leadTeamMember", leadTeamMember)));
- else
- CHECK(leadTeamMember);
-}
-
-QString Sigmod::MapTrainer::name() const
-{
- return m_name;
-}
-
-int Sigmod::MapTrainer::trainerClass() const
-{
- return m_trainerClass;
-}
-
-QPoint Sigmod::MapTrainer::coordinate() const
-{
- return m_coordinate;
-}
-
-int Sigmod::MapTrainer::numberFight() const
-{
- return m_numberFight;
-}
-
-Sigcore::Script Sigmod::MapTrainer::script() const
-{
- return m_script;
-}
-
-int Sigmod::MapTrainer::leadTeamMember() const
-{
- return m_leadTeamMember;
-}
+ {
+ EBOUNDS_IDX(leadTeamMember);
+ return false;
+ }
+CHECK_END()
const Sigmod::MapTrainerTeamMember* Sigmod::MapTrainer::teamMember(const int index) const
{