-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathObservations.js
41 lines (40 loc) · 1.1 KB
/
Observations.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
33
34
35
36
37
38
39
40
41
Adventurous.Observations = function (obj)
{
if(obj != null)
{
this.list = obj.list;
for(var i = 0; i < this.list.length; i++)
{
this.list[i].i = 0;
}
}
else
{
this.list = new Array();
this.list[0] = {};
this.list[0].i = 0;
this.list[0].speeches = ["default_observation"];
}
};
Adventurous.Observations.prototype =
{
next: function()
{
for(var i = 0; i < this.list.length; i++)
{
var observationSet = this.list[i];
if(Adventurous.Util.areConditionsMet(observationSet.conditions))
{
var name = observationSet.speeches[observationSet.i];
observationSet.i = (observationSet.i + 1) % observationSet.speeches.length;
var speech = Adventurous.speeches[name];
if(speech == null)
{
console.log("ERROR: Adventurous.Observations.next() -- missing speech '"+name+"'");
}
return speech;
}
}
return null;
}
};