From c1793a87ebea8c8e1bb2d5d1a409d105bfae3871 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Mon, 18 Aug 2008 18:51:31 +0000 Subject: [FIX] Script to make a tarball now defaults to HEAD for the revision [FIX] Enumeration types used to help remove some checks [FIX] Macro code moved to static members of Object (not all though) [FIX] Scripting wrappers now share information by keeping track of already-created instances of the wrapper [FIX] Scripting methods are now Q_SCRIPTABLE and not slots git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@239 6ecfd1a5-f3ed-3746-8530-beee90d26b22 --- pokescripting/MapWarpWrapper.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'pokescripting/MapWarpWrapper.cpp') diff --git a/pokescripting/MapWarpWrapper.cpp b/pokescripting/MapWarpWrapper.cpp index 8d1ade17..476c934d 100644 --- a/pokescripting/MapWarpWrapper.cpp +++ b/pokescripting/MapWarpWrapper.cpp @@ -18,10 +18,18 @@ // Header include #include "MapWarpWrapper.h" -// Pokemod includes -#include "../pokemod/Map.h" +// Pokescripting includes +#include "MapWrapper.h" +#include "PokemodWrapper.h" -Pokescripting::MapWarpWrapper::MapWarpWrapper(const Pokemod::MapWarp* warp, QObject* parent) : +Pokescripting::MapWarpWrapper* Pokescripting::MapWarpWrapper::create(const Pokemod::MapWarp* warp, MapWrapper* parent) +{ + if (!m_instances.contains(Signiture(parent, warp->id()))) + m_instances[Signiture(parent, warp->id())] = new MapWarpWrapper(warp, parent); + return qobject_cast(m_instances[Signiture(parent, warp->id())]); +} + +Pokescripting::MapWarpWrapper::MapWarpWrapper(const Pokemod::MapWarp* warp, MapWrapper* parent) : ObjectWrapper(warp, parent), m_warp(warp) { @@ -39,14 +47,14 @@ QPoint Pokescripting::MapWarpWrapper::coordinate() const return m_warp->coordinate(); } -int Pokescripting::MapWarpWrapper::type() const +Pokemod::MapWarp::Type Pokescripting::MapWarpWrapper::type() const { return m_warp->type(); } Pokescripting::MapWarpWrapper* Pokescripting::MapWarpWrapper::toWarp() { - return new MapWarpWrapper(pokemod()->mapById(m_warp->toMap())->warpById(m_warp->toWarp()), this); + return pokemod()->map(m_warp->toMap())->warp(m_warp->toWarp()); } Pokemod::Script Pokescripting::MapWarpWrapper::script() const -- cgit