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