summaryrefslogtreecommitdiffstats
path: root/pokescripting/MapTrainerTeamMemberWrapper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pokescripting/MapTrainerTeamMemberWrapper.cpp')
-rw-r--r--pokescripting/MapTrainerTeamMemberWrapper.cpp26
1 files changed, 15 insertions, 11 deletions
diff --git a/pokescripting/MapTrainerTeamMemberWrapper.cpp b/pokescripting/MapTrainerTeamMemberWrapper.cpp
index 38609e3d..a7b52c35 100644
--- a/pokescripting/MapTrainerTeamMemberWrapper.cpp
+++ b/pokescripting/MapTrainerTeamMemberWrapper.cpp
@@ -19,13 +19,17 @@
#include "MapTrainerTeamMemberWrapper.h"
// Pokescripting includes
-#include "AbilityWrapper.h"
-#include "ItemWrapper.h"
-#include "MoveWrapper.h"
-#include "NatureWrapper.h"
-#include "SpeciesWrapper.h"
+#include "MapTrainerWrapper.h"
+#include "PokemodWrapper.h"
-Pokescripting::MapTrainerTeamMemberWrapper::MapTrainerTeamMemberWrapper(const Pokemod::MapTrainerTeamMember* teamMember, QObject* parent) :
+Pokescripting::MapTrainerTeamMemberWrapper* Pokescripting::MapTrainerTeamMemberWrapper::create(const Pokemod::MapTrainerTeamMember* teamMember, MapTrainerWrapper* parent)
+{
+ if (!m_instances.contains(Signiture(parent, teamMember->id())))
+ m_instances[Signiture(parent, teamMember->id())] = new MapTrainerTeamMemberWrapper(teamMember, parent);
+ return qobject_cast<MapTrainerTeamMemberWrapper*>(m_instances[Signiture(parent, teamMember->id())]);
+}
+
+Pokescripting::MapTrainerTeamMemberWrapper::MapTrainerTeamMemberWrapper(const Pokemod::MapTrainerTeamMember* teamMember, MapTrainerWrapper* parent) :
ObjectWrapper(teamMember, parent),
m_teamMember(teamMember)
{
@@ -33,7 +37,7 @@ Pokescripting::MapTrainerTeamMemberWrapper::MapTrainerTeamMemberWrapper(const Po
Pokescripting::SpeciesWrapper* Pokescripting::MapTrainerTeamMemberWrapper::species()
{
- return SpeciesWrapper::create(pokemod()->speciesById(m_teamMember->species()), this);
+ return pokemod()->species(m_teamMember->species());
}
int Pokescripting::MapTrainerTeamMemberWrapper::level() const
@@ -48,7 +52,7 @@ QList<Pokescripting::AbilityWrapper*> Pokescripting::MapTrainerTeamMemberWrapper
QList<int> abilityIds = m_teamMember->abilities();
QList<AbilityWrapper*> abilities;
foreach (int id, abilityIds)
- abilities.append(AbilityWrapper::create(pokemod()->abilityById(id), this));
+ abilities.append(pokemod()->ability(id));
return abilities;
}
@@ -57,7 +61,7 @@ QList<Pokescripting::ItemWrapper*> Pokescripting::MapTrainerTeamMemberWrapper::i
QList<int> itemIds = m_teamMember->items();
QList<ItemWrapper*> items;
foreach (int id, itemIds)
- items.append(ItemWrapper::create(pokemod()->itemById(id), this));
+ items.append(pokemod()->item(id));
return items;
}
@@ -66,7 +70,7 @@ QList<Pokescripting::MoveWrapper*> Pokescripting::MapTrainerTeamMemberWrapper::m
QList<int> moveIds = m_teamMember->moves();
QList<MoveWrapper*> moves;
foreach (int id, moveIds)
- moves.append(MoveWrapper::create(pokemod()->moveById(id), this));
+ moves.append(pokemod()->move(id));
return moves;
}
@@ -75,6 +79,6 @@ QList<Pokescripting::NatureWrapper*> Pokescripting::MapTrainerTeamMemberWrapper:
QList<int> natureIds = m_teamMember->natures();
QList<NatureWrapper*> natures;
foreach (int id, natureIds)
- natures.append(NatureWrapper::create(pokemod()->natureById(id), this));
+ natures.append(pokemod()->nature(id));
return natures;
}