summaryrefslogtreecommitdiffstats
path: root/pokescripting/ItemWrapper.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2008-08-18 18:51:31 +0000
committerBen Boeckel <MathStuf@gmail.com>2008-08-18 18:51:31 +0000
commitc1793a87ebea8c8e1bb2d5d1a409d105bfae3871 (patch)
treeb7ff53cf9747ad61a80b169e1adad96950f4b16c /pokescripting/ItemWrapper.cpp
parentfa4764c9e4d86fdfa976bb9fa9f6976e82c496d5 (diff)
downloadsigen-c1793a87ebea8c8e1bb2d5d1a409d105bfae3871.tar.gz
sigen-c1793a87ebea8c8e1bb2d5d1a409d105bfae3871.tar.xz
sigen-c1793a87ebea8c8e1bb2d5d1a409d105bfae3871.zip
[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
Diffstat (limited to 'pokescripting/ItemWrapper.cpp')
-rw-r--r--pokescripting/ItemWrapper.cpp13
1 files changed, 10 insertions, 3 deletions
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<ItemWrapper*>(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