diff options
Diffstat (limited to 'pokescripting/SpriteWrapper.h')
| -rw-r--r-- | pokescripting/SpriteWrapper.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/pokescripting/SpriteWrapper.h b/pokescripting/SpriteWrapper.h index 3e94e836..b0b73cf2 100644 --- a/pokescripting/SpriteWrapper.h +++ b/pokescripting/SpriteWrapper.h @@ -31,11 +31,17 @@ class POKESCRIPTING_EXPORT SpriteWrapper : public ObjectWrapper Q_OBJECT public: - SpriteWrapper(const Pokemod::Sprite* sprite, QObject* parent); + static SpriteWrapper* create(const Pokemod::Sprite* sprite, QObject* parent) + { + if (!m_instances.contains(sprite->id())) + m_instances[sprite->id()] = new SpriteWrapper(sprite, parent); + return qobject_cast<SpriteWrapper*>(m_instances[sprite->id()]); + } public slots: QString name() const; QPixmap sprite() const; private: + SpriteWrapper(const Pokemod::Sprite* sprite, QObject* parent); SpriteWrapper& operator=(const SpriteWrapper& rhs); const Pokemod::Sprite* m_sprite; |
