-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcontroller.js
33 lines (28 loc) · 1.05 KB
/
controller.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
; /* Controller. (C) 2012 David Byard. Released under AGPLv3. See LICENSE. */ ;
namespace = window.namespace || {};
namespace.Controller = function(word, initialTime) {
// Constructor
var that = this;
var previousTime = initialTime;
var text = 'Please wait...';
var web = null;
namespace.util.weaveWeb(word, 8, 4, function(progressText) {
console.log('Progress reported: ' + progressText);
text = progressText;
}, function(wovenWeb) {
web = wovenWeb;
console.log('Loaded!');
text = null;
}, function(errorMessage) {
text = 'ERROR: ' + errorMessage;
console.log('ERROR: ' + errorMessage);
});
this.tick = function(newTime) {
// Update time
var absoluteSeconds = (newTime.getTime() - initialTime.getTime()) / 1000.0;
var elapsedSeconds = (newTime.getTime() - previousTime.getTime()) / 1000.0;
previousTime = newTime;
// Create view
return new namespace.View(absoluteSeconds, elapsedSeconds, text, web);
}
}