///////////////////////////////////////////////////////////////////////////// // Name: pokemod/Nature.h // Purpose: Define a nature that Pokémon can possess // Author: Ben Boeckel // Modified by: Ben Boeckel // Created: Sun Mar 18 22:58:48 2007 // Copyright: ©2007 Nerdy Productions // Licence: // 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 2 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, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ///////////////////////////////////////////////////////////////////////////// #ifndef __POKEMOD_NATURE__ #define __POKEMOD_NATURE__ #include #include #include "Object.h" #include "String.h" #include "NatureEffect.h" namespace PokeGen { namespace PokeMod { class Nature : public Object { public: Nature(unsigned _id); Nature(Ini &ini, unsigned _id = UINT_MAX); ~Nature(); void ImportIni(Ini &ini, unsigned _id = UINT_MAX); void ExportIni(std::ofstream &fout) const; void SetName(const String &n); String GetName() const; NatureEffect *GetNatureEffect(unsigned _id); unsigned GetNatureEffectCount() const; void NewNatureEffect(Ini *const ini = NULL); void DeleteNatureEffect(unsigned _id); private: void Validate(); # ifdef PG_DEBUG_WINDOW void Validate(const wxListBox &output); # endif String name; std::vector effects; }; } } #endif