diff options
Diffstat (limited to 'pokescripting/MapTrainerTeamMemberWrapper.cpp')
| -rw-r--r-- | pokescripting/MapTrainerTeamMemberWrapper.cpp | 26 |
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; } |
