Skip to content

Commit 590deaf

Browse files
committed
use Map instead of Object property assignment
1 parent 7cd0b3a commit 590deaf

File tree

1 file changed

+56
-59
lines changed

1 file changed

+56
-59
lines changed

src/client/scripts/AssetLoader.js

Lines changed: 56 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -7,75 +7,72 @@ class AssetLoader {
77
}
88

99
async init() {
10-
return new Promise(async (resolve) => {
11-
let assets = await $.get("assets/assetLoader.json");
12-
await this.load(assets, () => {
13-
console.log("AssetLoader: done loading!");
14-
resolve()
15-
});
16-
})
10+
let assets = await $.get("assets/assetLoader.json");
11+
await this.load(assets);
12+
console.log("AssetLoader: done loading!");
1713
}
1814

19-
async load(assets, callback) {
15+
async load(assets) {
16+
return new Promise((resolve) => {
17+
var textureLoader = new THREE.TextureLoader();
18+
var fbxl = new FBXLoader();
19+
var assetsNumber = Object.keys(assets).length;
20+
var assetsLoaded = 0;
2021

21-
var textureLoader = new THREE.TextureLoader();
22-
var fbxl = new FBXLoader();
23-
var assetsNumber = Object.keys(assets).length;
24-
var assetsLoaded = 0;
22+
for (const assetName in assets) {
23+
if (!assets.hasOwnProperty(assetName))
24+
continue;
2525

26-
for (const assetName in assets) {
27-
if(!assets.hasOwnProperty(assetName))
28-
continue;
26+
let asset = assets[assetName];
2927

30-
let asset = assets[assetName];
31-
var img;
3228

33-
switch (asset.type) {
34-
case "texture":
35-
textureLoader.load(asset.path, (texture) => {
36-
this.assets[assetName] = texture;
37-
assetsLoaded++;
38-
if (assetsLoaded === assetsNumber) {
39-
return callback();
40-
}
41-
});
42-
break;
43-
case "text":
44-
$.get(asset.path, (data) => {
45-
this.assets[assetName] = data;
46-
assetsLoaded++;
47-
if (assetsLoaded === assetsNumber) {
48-
return callback();
49-
}
50-
});
51-
break;
52-
case "image":
53-
img = new Image();
54-
img.onload = () => {
55-
this.assets[assetName] = img;
56-
assetsLoaded++;
57-
if (assetsLoaded === assetsNumber) {
58-
return callback();
59-
}
60-
};
61-
img.src = asset.path;
62-
break;
63-
case "fbx":
64-
fbxl.load(asset.path, (fbx) => {
65-
this.assets[assetName] = fbx;
66-
assetsLoaded++;
67-
if (assetsLoaded === assetsNumber) {
68-
return callback();
69-
}
70-
});
71-
break;
29+
switch (asset.type) {
30+
case "texture":
31+
textureLoader.load(asset.path, (texture) => {
32+
this.assets.set(assetName, texture);
33+
assetsLoaded++;
34+
if (assetsLoaded === assetsNumber) {
35+
return resolve();
36+
}
37+
});
38+
break;
39+
case "text":
40+
$.get(asset.path, (data) => {
41+
this.assets.set(assetName, data);
42+
assetsLoaded++;
43+
if (assetsLoaded === assetsNumber) {
44+
return resolve();
45+
}
46+
});
47+
break;
48+
case "image":
49+
let img = new Image();
50+
img.onload = () => {
51+
this.assets.set(assetName, img);
52+
assetsLoaded++;
53+
if (assetsLoaded === assetsNumber) {
54+
return resolve();
55+
}
56+
};
57+
img.src = asset.path;
58+
break;
59+
case "fbx":
60+
fbxl.load(asset.path, (fbx) => {
61+
this.assets.set(assetName, fbx);
62+
assetsLoaded++;
63+
if (assetsLoaded === assetsNumber) {
64+
return resolve();
65+
}
66+
});
67+
break;
68+
}
7269
}
73-
}
74-
return this;
70+
})
71+
7572
}
7673

7774
get(assetName) {
78-
return this.assets[assetName];
75+
return this.assets.get(assetName);
7976
}
8077
}
8178

0 commit comments

Comments
 (0)