diff options
Diffstat (limited to 'pokescripting/StatusWrapper.h')
| -rw-r--r-- | pokescripting/StatusWrapper.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/pokescripting/StatusWrapper.h b/pokescripting/StatusWrapper.h index e2a77318..d207354b 100644 --- a/pokescripting/StatusWrapper.h +++ b/pokescripting/StatusWrapper.h @@ -31,10 +31,16 @@ class POKESCRIPTING_EXPORT StatusWrapper : public ObjectWrapper Q_OBJECT public: - StatusWrapper(const Pokemod::Status* status, QObject* parent); + static StatusWrapper* create(const Pokemod::Status* status, QObject* parent) + { + if (!m_instances.contains(status->id())) + m_instances[status->id()] = new StatusWrapper(status, parent); + return qobject_cast<StatusWrapper*>(m_instances[status->id()]); + } public slots: QString name() const; private: + StatusWrapper(const Pokemod::Status* status, QObject* parent); StatusWrapper& operator=(const StatusWrapper& rhs); const Pokemod::Status* m_status; |
