-
Notifications
You must be signed in to change notification settings - Fork 827
Expand file tree
/
Copy pathSoundEventHandler.js
More file actions
73 lines (57 loc) · 1.89 KB
/
SoundEventHandler.js
File metadata and controls
73 lines (57 loc) · 1.89 KB
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
// TODO remove SoundEventHandler from namespace
// namespace:
this.createjs = this.createjs || {};
createjs.soundUtils = createjs.soundUtils || {};
createjs.soundUtils.SoundEventHandler = (function (){
var SoundEventHandler = function () {
this.init();
};
var prototype = SoundEventHandler.prototype;
prototype.constructor = SoundEventHandler;
prototype.init = function () {
this.addEventListener = null;
this.removeEventListener = null;
this.removeAllEventListeners = null;
this.dispatchEvent = null;
this.hasEventListener = null;
this._listeners = null;
createjs.EventDispatcher.initialize(this);
};
prototype.handleLoadComplete = _handleLoadComplete;
prototype.handleLoadError = _handleLoadError;
return SoundEventHandler;
function _handleLoadComplete(event, preloadHash) {
var source = event.target.getItem().src;
if (!preloadHash || !preloadHash[source]) {
return;
}
for (var i = 0, l = preloadHash[source].length; i < l; i++) {
var preloadItem = preloadHash[source][i];
preloadHash[source][i] = true;
if (!this.hasEventListener("fileload")) { continue; }
var event = new createjs.Event("fileload");
event.src = preloadItem.src;
event.id = preloadItem.id;
event.data = preloadItem.data;
event.sprite = preloadItem.sprite;
this.dispatchEvent(event);
}
}
function _handleLoadError(event, preloadHash) {
var source = event.target.getItem().src;
if (!preloadHash || !preloadHash[source]) {
return;
}
for (var i = 0, l = preloadHash[source].length; i < l; i++) {
var preloadItem = preloadHash[source][i];
preloadHash[source][i] = false;
if (!this.hasEventListener("fileerror")) { continue; }
var event = new createjs.Event("fileerror");
event.src = preloadItem.src;
event.id = preloadItem.id;
event.data = preloadItem.data;
event.sprite = preloadItem.sprite;
this.dispatchEvent(event);
}
}
})();