Changeset 83f6b1daba5922e5cc8fce2548a41c4d65a4099c

Show
Ignore:
Timestamp:
12/28/07 11:28:43 (9 months ago)
Author:
Christopher Jung <bktheg@web.de>
git-committer:
Christopher Jung <bktheg@web.de> 1198837723 +0100
git-parent:

[90eb19f5ebbb35fed952c0052cf8c391ba9452f5]

git-author:
Christopher Jung <bktheg@web.de> 1198837723 +0100
Message:

Die fuer NPC-Scripte verwendete ScriptEngine? wird nun aus den Scripten ermittelt

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/net/driftingsouls/ds2/server/tick/regular/NPCScriptTick.java

    r177e8e0 r83f6b1d  
    3131import net.driftingsouls.ds2.server.entities.User; 
    3232import net.driftingsouls.ds2.server.framework.Common; 
     33import net.driftingsouls.ds2.server.scripting.EngineIdentifier; 
    3334import net.driftingsouls.ds2.server.scripting.NullLogger; 
    3435import net.driftingsouls.ds2.server.scripting.ScriptParserContext; 
     
    8081                this.log("Fuehre automatische NPC-Aktionen durch"); 
    8182                 
    82                 ScriptEngine scriptparser = getContext().get(ContextCommon.class).getScriptParser("DSActionScript"); 
    83                  
    8483                List<User> users = getContext().query("from User where locate('execnotes',flags)!=0", User.class); 
    8584                for( User user : users ) { 
    86                         if( !user.hasFlag( User.FLAG_SCRIPT_DEBUGGING ) ) { 
    87                                 scriptparser.getContext().setErrorWriter(new NullLogger()); 
    88                         } 
    89                         else { 
    90                                 scriptparser.getContext().setErrorWriter(new TickLogger());      
     85                        Writer logger = new NullLogger(); 
     86                        if( user.hasFlag( User.FLAG_SCRIPT_DEBUGGING ) ) { 
     87                                logger = new TickLogger();       
    9188                        } 
    9289 
     
    9693                                .list(); 
    9794                        for( Iterator iter=ships.iterator(); iter.hasNext(); ) { 
    98                                 Ship ship = (Ship)iter.next(); 
     95                                final Ship ship = (Ship)iter.next(); 
    9996                                try { 
    10097                                        this.log("+++ Ship "+ship.getId()+" +++"); 
     98                                         
     99                                        final ScriptEngine scriptparser = getContext().get(ContextCommon.class) 
     100                                                .getScriptParser(EngineIdentifier.identifyEngine(ship.getScript())); 
    101101                                         
    102102                                        Blob scriptExecData = ship.getScriptExeData(); 
     
    109109                                                scriptparser.setContext(new ScriptParserContext()); 
    110110                                        } 
     111                                         
     112                                        scriptparser.getContext().setErrorWriter(logger); 
    111113                                         
    112114                                        scriptparser.getContext().setAttribute("_SHIP", ship, ScriptContext.ENGINE_SCOPE); 
  • test/java/net/driftingsouls/ds2/server/scripting/EngineIdentifierTest.java

    r90eb19f r83f6b1d  
    1919package net.driftingsouls.ds2.server.scripting; 
    2020 
     21import static org.hamcrest.CoreMatchers.*; 
    2122import static org.junit.Assert.*; 
    22 import static org.hamcrest.CoreMatchers.*; 
    2323 
    2424import org.junit.Test;