changeset 34:cf2303c41d8c

Added logging functionality to engine-runner.
author Atul Varma <varmaa@toolness.com>
date Tue, 13 May 2008 22:18:32 -0700
parents 8d34fb3e9108
children be2a410b8518
files engine-runner.js trivial-zui.js
diffstat 2 files changed, 23 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/engine-runner.js	Tue May 13 16:53:24 2008 -0700
+++ b/engine-runner.js	Tue May 13 22:18:32 2008 -0700
@@ -42,13 +42,19 @@
     },
 };
 
-function EngineRunner(engine, zui) {
+function EngineRunner(engine, zui, logfunc) {
     this._engine = engine;
     this._zui = zui;
     this._isRunning = false;
     this._isInLoop = false;
     this._isWaitingForCallback = false;
 
+    if (logfunc) {
+        this._log = logfunc;
+    } else {
+        this._log = function() {};
+    }
+
     var self = this;
 
     this.__proto__ = {
@@ -97,6 +103,14 @@
             engine.run();
             var effect = '"' + engine.effect(0) + '"';
 
+            var logString = "[ " + engine.effect(0);
+
+            for (var i = 1; engine.effect(i) != undefined; i++) {
+                logString += ", " + engine.effect(i);
+            }
+
+            self._log(logString + " ]");
+
             switch (effect) {
             case GNUSTO_EFFECT_INPUT:
                 self._isWaitingForCallback = true;
--- a/trivial-zui.js	Tue May 13 16:53:24 2008 -0700
+++ b/trivial-zui.js	Tue May 13 22:18:32 2008 -0700
@@ -103,6 +103,7 @@
 
         onEraseWindow: function(window) {
             if (window == 0) {
+                // TODO: Implement this better.
                 self.onPrint("\n\n\n\n\n\n\n\n\n\n");
             }
         },
@@ -138,9 +139,15 @@
 }
 
 $(document).ready( function() {
+    var logfunc = undefined;
+
+    if (window.console) {
+        logfunc = function(msg) { console.log(msg); };
+    }
+
     var engine = new GnustoEngine();
     var zui = new TrivialZui();
-    var runner = new EngineRunner(engine, zui);
+    var runner = new EngineRunner(engine, zui, logfunc);
 
     engine.loadStory(troll_z5);
     runner.run();