UNPKG

737 BJavaScriptView Raw
1var clone = require("./clone");
2var setOrAddComponent = require("./set-or-add-component");
3
4function Prefabs(prefabs) {
5 this.prefabs = prefabs;
6}
7Prefabs.prototype.instantiate = function(entities, name) {
8 var id = entities.create();
9 var prefab = this.prefabs[name];
10 Object.keys(prefab).forEach(function(key) {
11 if (key === "id") {
12 return;
13 }
14 setOrAddComponent(entities, id, key, clone(prefab[key]));
15 });
16 return id;
17};
18Prefabs.prototype.register = function(name, components) {
19 this.prefabs[name] = components;
20};
21Prefabs.prototype.registerMultiple = function(prefabs) {
22 Object.keys(prefabs).forEach(function(key) {
23 this.registerPrefab(key, prefabs[key]);
24 }.bind(this));
25};
26
27module.exports = Prefabs;