summaryrefslogtreecommitdiff
path: root/src/scripting/script.h
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2011-11-06 21:02:23 +0100
committerThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2011-11-07 18:54:37 +0100
commit391916f685afe93d9afb021b81f8d5b5789822bc (patch)
tree74c209d27da8db63bac99669b2dccb55f9e55650 /src/scripting/script.h
parent80f0899c16931b41b51b062a3d020781c033bc87 (diff)
downloadmanaserv-391916f685afe93d9afb021b81f8d5b5789822bc.tar.gz
manaserv-391916f685afe93d9afb021b81f8d5b5789822bc.tar.bz2
manaserv-391916f685afe93d9afb021b81f8d5b5789822bc.tar.xz
manaserv-391916f685afe93d9afb021b81f8d5b5789822bc.zip
Merged three global script states into one
These scripts could trivially share one script state, since the methods called on them from the server are not overlapping. This does leave them open to access each other's global variables, but that's the problem with global variables. The one remaining global script file name is now configurable, so that it may also be set to a script in a different scripting language. The two related script options are: script_mainFile (default: scripts/main.lua) script_defaultEngine (default: lua) - renamed from defaultScriptEngine Reviewed-by: jurkan Reviewed-by: Yohann Ferreira
Diffstat (limited to 'src/scripting/script.h')
-rw-r--r--src/scripting/script.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/scripting/script.h b/src/scripting/script.h
index e2ab3afa..a7737512 100644
--- a/src/scripting/script.h
+++ b/src/scripting/script.h
@@ -136,25 +136,29 @@ class Script
virtual void processRemoveEvent(Thing *thing) = 0;
/**
+ * Loads the global event script file
+ */
+ static bool loadGlobalEventScript(const std::string &file);
+
+ /**
* Runs a function from the global event script file
*/
static bool executeGlobalEventFunction(const std::string &function, Being *obj);
static void addDataToSpecial(int specialId, Special *special);
static bool performSpecialAction(int specialId, Being *caster);
- static bool performCraft(Being* crafter, std::list<InventoryItem> recipe);
+ static bool performCraft(Being *crafter, const std::list<InventoryItem> &recipe);
static std::string determineEngineByFilename(const std::string &filename);
protected:
- static Script *globalEventScript;
- static Script *specialActionsScript;
- static Script *craftScript;
std::string mScriptFile;
private:
MapComposite *mMap;
EventListener mEventListener; /**< Tracking of being deaths. */
+ static Script *globalEventScript;
+
friend struct ScriptEventDispatch;
};