-
Notifications
You must be signed in to change notification settings - Fork 18
/
Anims.js
91 lines (53 loc) · 1.04 KB
/
Anims.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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
(function (Ω) {
"use strict";
var Anims = Ω.Class.extend({
current: null,
all: null,
init: function (anims) {
if (anims.length) {
this.all = anims;
this.current = anims[0];
}
},
tick: function () {
this.current.tick();
},
add: function (anim) {
if (!this.all) {
this.all = [];
this.current = anim;
}
this.all.push(anim);
},
each: function (func) {
this.all.forEach(func);
},
get: function () {
return this.current.name;
},
set: function (animName) {
var anim = this.all.filter(function (anim) {
return anim.name === animName;
});
if (anim.length) {
this.current = anim[0];
this.current.reset();
}
},
setTo: function (animName) {
if (this.get() !== animName) {
this.set(animName);
}
},
changed: function () {
return this.current.changed;
},
rewound: function () {
return this.current.rewound;
},
render: function (gfx, x, y) {
this.current.render(gfx, x, y);
}
});
Ω.Anims = Anims;
}(window.Ω));