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