From: Hendrik B. <nh...@us...> - 2006-09-05 19:59:53
|
Update of /cvsroot/arianne/stendhal/src/games/stendhal/server/scripting In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv21433/src/games/stendhal/server/scripting Modified Files: ScriptRunner.java Log Message: splitted execute out Index: ScriptRunner.java =================================================================== RCS file: /cvsroot/arianne/stendhal/src/games/stendhal/server/scripting/ScriptRunner.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ScriptRunner.java 2 Sep 2006 08:53:23 -0000 1.4 --- ScriptRunner.java 5 Sep 2006 19:59:50 -0000 1.5 *************** *** 66,70 **** return perform(name, "load", null, null); } ! private synchronized boolean perform(String name, String mode, Player player, String[] args) { boolean ret = false; --- 66,71 ---- return perform(name, "load", null, null); } ! ! // TODO: document and clean this method private synchronized boolean perform(String name, String mode, Player player, String[] args) { boolean ret = false; *************** *** 77,94 **** } script = null; ! } ! if("load".equals(mode) || "execute".equals(mode)) { ! if (getClass().getClassLoader().getResource(scriptDir + name) != null) { if (script == null) { if (name.endsWith(".groovy")) { ! script = new ScriptInGroovy(scriptDir + name); ! } else { script = new ScriptInJava(scriptDir + name); } } ! ret = script.load(player, args); ! scripts.put(name, script); ! } ! } return (ret); } --- 78,103 ---- } script = null; ! } ! ! if ("load".equals(mode) || "execute".equals(mode)) { ! if (getClass().getClassLoader().getResource(scriptDir + name) != null) { ! boolean ignoreExecute = false; if (script == null) { if (name.endsWith(".groovy")) { ! script = new ScriptInGroovy(scriptDir + name); ! ignoreExecute = true; ! } else if (name.endsWith(".class")) { script = new ScriptInJava(scriptDir + name); } + ret = script.load(player, args); + scripts.put(name, script); + } + if ("execute".equals(mode) && !ignoreExecute) { + ret = script.execute(player, args); } ! } ! } ! ! return (ret); } |