@@ -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