From f872528771f0b71741fb36ddf70f2ae23f54c1e3 Mon Sep 17 00:00:00 2001 From: Erik Schilling Date: Sat, 3 Mar 2012 13:36:28 +0100 Subject: Added further missing callbacks Reviewed-by: bjorn. --- src/scripting/script.cpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'src/scripting/script.cpp') diff --git a/src/scripting/script.cpp b/src/scripting/script.cpp index db44bd57..9ef069d5 100644 --- a/src/scripting/script.cpp +++ b/src/scripting/script.cpp @@ -34,6 +34,9 @@ typedef std::map< std::string, Script::Factory > Engines; static Engines *engines = NULL; +Script::Ref Script::mCreateNpcDelayedCallback; +Script::Ref Script::mUpdateCallback; + Script::Script(): mMap(NULL), mEventListener(&scriptEventDispatch) @@ -68,7 +71,12 @@ Script *Script::create(const std::string &engine) void Script::update() { - prepare("update"); + if (!mUpdateCallback.isValid()) + { + LOG_ERROR("Could not find callback for update function!"); + return; + } + prepare(mUpdateCallback); execute(); } @@ -98,8 +106,14 @@ bool Script::loadFile(const std::string &name) void Script::loadNPC(const std::string &name, int id, int x, int y, const char *prog) { + if (!mCreateNpcDelayedCallback.isValid()) + { + LOG_ERROR("No callback for creating npcs delayed assigned. " + "Could not enabled NPC"); + return; + } load(prog, name.c_str()); - prepare("create_npc_delayed"); + prepare(mCreateNpcDelayedCallback); push(name); push(id); push(x); -- cgit v1.2.3-70-g09d2