summaryrefslogtreecommitdiffstats
path: root/pokemod/MapTrainer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pokemod/MapTrainer.cpp')
-rw-r--r--pokemod/MapTrainer.cpp21
1 files changed, 15 insertions, 6 deletions
diff --git a/pokemod/MapTrainer.cpp b/pokemod/MapTrainer.cpp
index 11c0209f..93ae61cc 100644
--- a/pokemod/MapTrainer.cpp
+++ b/pokemod/MapTrainer.cpp
@@ -289,20 +289,23 @@ int MapTrainer::teamMemberCount() const
MapTrainerTeamMember* MapTrainer::newTeamMember()
{
- m_teamMember.append(new MapTrainerTeamMember(this, newTeamMemberId()));
- return m_teamMember[teamMemberCount() - 1];
+ return newTeamMember(new MapTrainerTeamMember(this, newTeamMemberId()));
}
MapTrainerTeamMember* MapTrainer::newTeamMember(const QDomElement& xml)
{
- m_teamMember.append(new MapTrainerTeamMember(xml, this, newTeamMemberId()));
- return m_teamMember[teamMemberCount() - 1];
+ return newTeamMember(new MapTrainerTeamMember(xml, this, newTeamMemberId()));
}
MapTrainerTeamMember* MapTrainer::newTeamMember(const MapTrainerTeamMember& teamMember)
{
- m_teamMember.append(new MapTrainerTeamMember(teamMember, this, newTeamMemberId()));
- return m_teamMember[teamMemberCount() - 1];
+ return newTeamMember(new MapTrainerTeamMember(teamMember, this, newTeamMemberId()));
+}
+
+MapTrainerTeamMember* MapTrainer::newTeamMember(MapTrainerTeamMember* teamMember)
+{
+ m_teamMember.append(teamMember);
+ return teamMember;
}
void MapTrainer::deleteTeamMember(const int index) throw(IndexException)
@@ -343,3 +346,9 @@ MapTrainer& MapTrainer::operator=(const MapTrainer& rhs)
COPY_SUB(MapTrainerTeamMember, teamMember);
return *this;
}
+
+void MapTrainer::clear()
+{
+ while (teamMemberCount())
+ deleteTeamMember(0);
+}