/* * 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 . */ // Header include #include "TileWrapper.h" // Pokescripting includes #include "PokemodWrapper.h" #include "SpriteWrapper.h" Pokescripting::TileWrapper* Pokescripting::TileWrapper::create(const Pokemod::Tile* tile, PokemodWrapper* parent) { if (!m_instances.contains(Signiture(parent, tile->id()))) m_instances[Signiture(parent, tile->id())] = new TileWrapper(tile, parent); return qobject_cast(m_instances[Signiture(parent, tile->id())]); } Pokescripting::TileWrapper::TileWrapper(const Pokemod::Tile* tile, PokemodWrapper* parent) : ObjectWrapper(tile, parent), m_tile(tile) { } QString Pokescripting::TileWrapper::name() const { return m_tile->name(); } Pokescripting::SpriteWrapper* Pokescripting::TileWrapper::sprite() { if (value("sprite").canConvert()) { SpriteWrapper* sprite = pokemod()->sprite(value("sprite").toString()); if (sprite && sprite->sprite().size() == QSize(64, 64)) return sprite; } return pokemod()->sprite(m_tile->sprite()); } bool Pokescripting::TileWrapper::from(const Pokemod::Direction direction) const { if (value(QString("direction-%1").arg(direction)).canConvert()) return value(QString("direction-%1").arg(direction)).toBool(); return m_tile->from(direction); } Pokemod::Script Pokescripting::TileWrapper::script() const { return m_tile->script(); }