Create game door

Merged username-removed-1496206 requested to merge create-game-door into master

Created by: Jenselme

  • feat(create): start merging the two states of the game creation page

    • Position elements with percent width and vh height. This allows us to remove positioning JS code in the select hero component and the creation page.
    • Simplify the code to select heroes:
    • Use the next and previous properties of each hero
    • Use two way databinding to select the hero
    • Display the hero selector on the new "gate" background
    • Display only the hero selector on the page
    • Remove deprecated background for heroes selection
  • ref(create): create the game from the /game/create page

    • Display spinner while create the game with either random hero and name or with the last entered values.
    • Create the game automatically when the player comes to /game/create with either random hero and name or with the last entered values.
    • Remove deprecated creation methods.
    • Add a list of default player names.
  • feat(create): can interact with the slots

    • Put each slot in a custom element
    • Position the slot container
  • fix(create): don't use absolute position for door elements

    • Make them float left instead.
    • Correct padding and margin to prevent scrolling.
  • fix(select-heroes): use AssetSource to load heroes

  • feat(utils): add a class to manage subscription to the BindingEngine

  • ref(create): rename playerInfo into playerInfos

  • feat(create): allow the player to enter his/her name

    • Add input field in the template
    • Save gameId and playerId in the create class
    • Update the slot through the API each time the name or the hero is changed.
  • ref(create): remove unused methods

  • feat(create): allow new players to join the game

  • feat(create): allow the user to the rejoin the game after a deconnection

  • fix(create): allow the state of the slots to be changed

  • feat(slot): improve display of slots

  • fix(utils): correct the selectRandomElement

    It could sometime request an index outside the array. It also adds tests for selectRandomElement and randomInt.

  • test(create): fix and update tests suite

  • ref(create,api,counter): remove debug mode

    It was used to automatically create a game. It is not really useful any more since it is quick and easy to create one manually.