summaryrefslogtreecommitdiffstats
path: root/pokescripting/SpriteWrapper.h
diff options
context:
space:
mode:
Diffstat (limited to 'pokescripting/SpriteWrapper.h')
-rw-r--r--pokescripting/SpriteWrapper.h8
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;