From 8bad37e82371bd41864903ac0d6f49808ad119bf Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Sat, 8 Nov 2008 06:15:08 +0000 Subject: [FIX] No more asserts in sigmod [FIX] Moved to using *ById instead of *Index methods in sigmod [FIX] Tilemaps are now collaged (not completely done on the editing side yet) [FIX] Removed the resource files (drawn natively instead) [FIX] ATBTimer now uses the built-in QTimer in a QObject [FIX] Coordinates are now edited on the map for warps, trainers, and effects [FIX] Tiles are now completely scripted [FIX] Config is now thread-safe git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@308 6ecfd1a5-f3ed-3746-8530-beee90d26b22 --- sigscript/MapTileWrapper.cpp | 56 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 sigscript/MapTileWrapper.cpp (limited to 'sigscript/MapTileWrapper.cpp') diff --git a/sigscript/MapTileWrapper.cpp b/sigscript/MapTileWrapper.cpp new file mode 100644 index 00000000..2ca2abbe --- /dev/null +++ b/sigscript/MapTileWrapper.cpp @@ -0,0 +1,56 @@ +/* + * 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 "MapTileWrapper.h" + +// Sigscript includes +#include "MapWrapper.h" +#include "SigmodWrapper.h" + +Sigscript::MapTileWrapper* Sigscript::MapTileWrapper::create(const Sigmod::MapTile* tile, MapWrapper* parent) +{ + Signature sig = Signature(parent, Subsignature(tile->className(), tile->id())); + if (!m_instances.contains(sig)) + m_instances[sig] = new MapTileWrapper(tile, parent); + return qobject_cast(m_instances[sig]); +} + +Sigscript::MapTileWrapper::MapTileWrapper(const Sigmod::MapTile* tile, MapWrapper* parent) : + ObjectWrapper(tile, parent), + m_tile(tile) +{ +} + +Sigscript::TileWrapper* Sigscript::MapTileWrapper::tile() +{ + return sigmod()->tile(m_tile->tile()); +} + +QPoint Sigscript::MapTileWrapper::position() const +{ + if (sigmod()->singlePlayer() && hasValueOfType("position")) + return valueOfType("position"); + return m_tile->position(); +} + +int Sigscript::MapTileWrapper::zIndex() const +{ + if (sigmod()->singlePlayer() && hasValueOfType("zIndex")) + return valueOfType("zIndex"); + return m_tile->zIndex(); +} -- cgit