diff options
Diffstat (limited to 'pokescripting/RulesWrapper.h')
| -rw-r--r-- | pokescripting/RulesWrapper.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/pokescripting/RulesWrapper.h b/pokescripting/RulesWrapper.h index fc816306..8d907aa9 100644 --- a/pokescripting/RulesWrapper.h +++ b/pokescripting/RulesWrapper.h @@ -31,7 +31,12 @@ class POKESCRIPTING_EXPORT RulesWrapper : public ObjectWrapper Q_OBJECT public: - RulesWrapper(const Pokemod::Rules* rules, QObject* parent); + static RulesWrapper* create(const Pokemod::Rules* rules, QObject* parent) + { + if (!m_instances.contains(rules->id())) + m_instances[rules->id()] = new RulesWrapper(rules, parent); + return qobject_cast<RulesWrapper*>(m_instances[rules->id()]); + } public slots: bool genderAllowed() const; bool breedingAllowed() const; @@ -57,6 +62,7 @@ class POKESCRIPTING_EXPORT RulesWrapper : public ObjectWrapper int maxTotalEV() const; int maxEVPerStat() const; private: + RulesWrapper(const Pokemod::Rules* rules, QObject* parent); RulesWrapper& operator=(const RulesWrapper& rhs); const Pokemod::Rules* m_rules; |
