/* * Copyright 2008 Ben Boeckel * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see . */ #ifndef __POKESCRIPTING_RULESWRAPPER__ #define __POKESCRIPTING_RULESWRAPPER__ // Pokescripting includes #include "ObjectWrapper.h" // Pokemod includes #include "../pokemod/Rules.h" namespace Pokescripting { class POKESCRIPTING_EXPORT RulesWrapper : public ObjectWrapper { Q_OBJECT public: 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(m_instances[rules->id()]); } public slots: bool genderAllowed() const; bool breedingAllowed() const; bool criticalDomains() const; bool useTurns() const; int numBoxes() const; int boxSize() const; int maxParty() const; int maxFight() const; int maxPlayers() const; int maxHeldItems() const; int maxAbilities() const; int maxNatures() const; int maxMoves() const; int maxLevel() const; int maxStages() const; int maxMoney() const; bool hardCash() const; bool allowSwitchStyle() const; bool specialSplit() const; bool specialDVSplit() const; bool effortValuesAllowed() const; int maxTotalEV() const; int maxEVPerStat() const; private: RulesWrapper(const Pokemod::Rules* rules, QObject* parent); RulesWrapper& operator=(const RulesWrapper& rhs); const Pokemod::Rules* m_rules; }; } #endif