/
scene.js
38 lines (29 loc) · 918 Bytes
/
scene.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
define([
'Backbone',
'Crafty',
'collections/assets'
], function(Backbone, Crafty, assets) {
var Scene = Backbone.Model.extend({
defaults: {
optionsBuffer: {},
init: function() {},
uninit: function() {}
},
initialize: function() {
var init = this.get("init");
var scene = this;
return Crafty.scene(this.get("name"), function() {
init(scene.optionsBuffer);
}, this.get("uninit"));
},
load: function(options) {
this.optionsBuffer = options || {};
var sceneName = this.get("name");
assets.loadByScene(sceneName, function() {
Crafty.scene(sceneName);
this.optionsBuffer = {};
});
}
});
return Scene;
});