Whoops I accidentally finished dynamic level loading for all the levels we don't have!
The main changes in a nutshell, or two, or four:
Game state changes are now entirely handled in _setCurrentGameState and the _onStateX functions.
LevelManager is now easier to use (no properties wrapped in a Promise), and validates all levels (for both server and client) before the game is initialised.
Validation can be disabled, in case it slows down development/testing due to many large level files.
The level can now be changed with !level by devs, before marbles are entered.
Added a STATE_LOADING game state for level changes.
Added !start to skip the countdown (also dev only).
Slightly reduced the clutter in web-marbles.js.
Fixed marble skins not actually checking allowCustomColor.
Fixed a bug where ending a race and discarding the results could cause an invalid state for clients when they refresh.
Referencing issues
Closes #53 (I couldn't reproduce this. Since it's an outdated issue too, I think we can consider it fixed)
Closes #137
Closes #173
Whoops I accidentally finished dynamic level loading for all the levels we don't have!
The main changes in a nutshell, or two, or four:
_setCurrentGameState
and the_onStateX
functions.Promise
), and validates all levels (for both server and client) before the game is initialised.!level
by devs, before marbles are entered.STATE_LOADING
game state for level changes.!start
to skip the countdown (also dev only).web-marbles.js
.allowCustomColor
.Referencing issues Closes #53 (I couldn't reproduce this. Since it's an outdated issue too, I think we can consider it fixed) Closes #137 Closes #173