From c1793a87ebea8c8e1bb2d5d1a409d105bfae3871 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Mon, 18 Aug 2008 18:51:31 +0000 Subject: [FIX] Script to make a tarball now defaults to HEAD for the revision [FIX] Enumeration types used to help remove some checks [FIX] Macro code moved to static members of Object (not all though) [FIX] Scripting wrappers now share information by keeping track of already-created instances of the wrapper [FIX] Scripting methods are now Q_SCRIPTABLE and not slots git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@239 6ecfd1a5-f3ed-3746-8530-beee90d26b22 --- pokescripting/MapTrainerTeamMemberWrapper.cpp | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) (limited to 'pokescripting/MapTrainerTeamMemberWrapper.cpp') 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(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::MapTrainerTeamMemberWrapper QList abilityIds = m_teamMember->abilities(); QList 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::MapTrainerTeamMemberWrapper::i QList itemIds = m_teamMember->items(); QList 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::MapTrainerTeamMemberWrapper::m QList moveIds = m_teamMember->moves(); QList 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::MapTrainerTeamMemberWrapper: QList natureIds = m_teamMember->natures(); QList natures; foreach (int id, natureIds) - natures.append(NatureWrapper::create(pokemod()->natureById(id), this)); + natures.append(pokemod()->nature(id)); return natures; } -- cgit