diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2008-08-18 18:51:31 +0000 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2008-08-18 18:51:31 +0000 |
| commit | c1793a87ebea8c8e1bb2d5d1a409d105bfae3871 (patch) | |
| tree | b7ff53cf9747ad61a80b169e1adad96950f4b16c /pokescripting/StoreWrapper.cpp | |
| parent | fa4764c9e4d86fdfa976bb9fa9f6976e82c496d5 (diff) | |
| download | sigen-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/StoreWrapper.cpp')
| -rw-r--r-- | pokescripting/StoreWrapper.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/pokescripting/StoreWrapper.cpp b/pokescripting/StoreWrapper.cpp index cb368703..111d0bd0 100644 --- a/pokescripting/StoreWrapper.cpp +++ b/pokescripting/StoreWrapper.cpp @@ -19,9 +19,16 @@ #include "StoreWrapper.h" // Pokescripting includes -#include "ItemWrapper.h" +#include "PokemodWrapper.h" -Pokescripting::StoreWrapper::StoreWrapper(const Pokemod::Store* store, QObject* parent) : +Pokescripting::StoreWrapper* Pokescripting::StoreWrapper::create(const Pokemod::Store* store, PokemodWrapper* parent) +{ + if (!m_instances.contains(Signiture(parent, store->id()))) + m_instances[Signiture(parent, store->id())] = new StoreWrapper(store, parent); + return qobject_cast<StoreWrapper*>(m_instances[Signiture(parent, store->id())]); +} + +Pokescripting::StoreWrapper::StoreWrapper(const Pokemod::Store* store, PokemodWrapper* parent) : ObjectWrapper(store, parent), m_store(store) { @@ -37,6 +44,6 @@ QList<Pokescripting::ItemWrapper*> Pokescripting::StoreWrapper::items() QList<int> itemIds = m_store->items(); QList<ItemWrapper*> items; foreach (int id, itemIds) - items.append(ItemWrapper::create(pokemod()->itemById(id), this)); + items.append(pokemod()->item(id)); return items; } |
