diff options
author | Logan Hunt <loganhunt@simponic.xyz> | 2022-04-04 18:30:11 -0600 |
---|---|---|
committer | Logan Hunt <loganhunt@simponic.xyz> | 2022-04-04 18:30:11 -0600 |
commit | dee568c51dbf2393aa7bd75f4241602af8022a2c (patch) | |
tree | 2e559ede69540b680a00ccf20bf96ff998230ed8 /src/bootstrap.js | |
parent | 14ddb31441e35dce7425385948a9ee63b262cece (diff) | |
download | bbiy-dee568c51dbf2393aa7bd75f4241602af8022a2c.tar.gz bbiy-dee568c51dbf2393aa7bd75f4241602af8022a2c.zip |
Fix flickering issue by having singleton sprites; add loading priority; load levels from source
Diffstat (limited to 'src/bootstrap.js')
-rw-r--r-- | src/bootstrap.js | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/bootstrap.js b/src/bootstrap.js index 65afc17..489ad8d 100644 --- a/src/bootstrap.js +++ b/src/bootstrap.js @@ -1,12 +1,13 @@ game.bootstrap = (() => { const scripts = [ - { src: ['src/utils/objectEquivalence.js', 'src/utils/unitizeVector.js', 'src/utils/clamp.js'], id: 'utils'}, - { src: ['src/render/graphics.js'], id: 'graphics' }, + { src: ['src/utils/objectEquivalence.js', 'src/utils/unitizeVector.js', 'src/utils/clamp.js', 'src/utils/loadLevel.js'], id: 'utils'}, + { src: ['src/render/graphics.js', 'src/render/sprites.js'], id: 'graphics' }, { src: ['src/components/component.js'], id: 'component' }, { src: [ 'src/components/position.js', 'src/components/momentum.js', 'src/components/gridPosition.js', 'src/components/appearence.js', 'src/components/controllable.js', 'src/components/pushable.js', + 'src/components/loadPriority.js', ], id: 'components' }, @@ -69,6 +70,7 @@ game.bootstrap = (() => { } const loadAssets = function() { + game.assets = {}; const promises = []; for (let key in assets) { promises.push(loadAsset(assets[key], (asset) => { @@ -82,8 +84,14 @@ game.bootstrap = (() => { })); } - game.assets = {}; - loadAssets().then(() => { + const loadLevels = function() { + game.levels = []; + fetch('/levels') + .then((r) => r.json()) + .then((r) => game.levels = r); + } + + Promise.all([loadAssets(), loadLevels()]).then(() => { loadScripts(() => game.initialize()); }) })(); |