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/ItemWrapper.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'pokescripting/ItemWrapper.cpp') diff --git a/pokescripting/ItemWrapper.cpp b/pokescripting/ItemWrapper.cpp index bcb9682a..002efea6 100644 --- a/pokescripting/ItemWrapper.cpp +++ b/pokescripting/ItemWrapper.cpp @@ -19,9 +19,16 @@ #include "ItemWrapper.h" // Pokescripting includes -#include "ItemTypeWrapper.h" +#include "PokemodWrapper.h" -Pokescripting::ItemWrapper::ItemWrapper(const Pokemod::Item* item, QObject* parent) : +Pokescripting::ItemWrapper* Pokescripting::ItemWrapper::create(const Pokemod::Item* item, PokemodWrapper* parent) +{ + if (!m_instances.contains(Signiture(parent, item->id()))) + m_instances[Signiture(parent, item->id())] = new ItemWrapper(item, parent); + return qobject_cast(m_instances[Signiture(parent, item->id())]); +} + +Pokescripting::ItemWrapper::ItemWrapper(const Pokemod::Item* item, PokemodWrapper* parent) : ObjectWrapper(item, parent), m_item(item) { @@ -39,7 +46,7 @@ bool Pokescripting::ItemWrapper::sellable() const Pokescripting::ItemTypeWrapper* Pokescripting::ItemWrapper::type() { - return ItemTypeWrapper::create(pokemod()->itemTypeById(m_item->type()), this); + return pokemod()->itemType(m_item->type()); } int Pokescripting::ItemWrapper::price() const -- cgit