Closed kevinshen56714 closed 2 years ago
✔️ Deploy Preview for skyoffice ready!
🔨 Explore the source changes: 38dcd6ab790e1165f8a7e6eb213510cb1c06c347
🔍 Inspect the deploy log: https://app.netlify.com/sites/skyoffice/deploys/61cd503ade553b00098bd445
😎 Browse the preview: https://deploy-preview-29--skyoffice.netlify.app/
This is a huge patch (I finally got some time to work on this project during the holiday)!
Here are the changes:
Client side:
Bootstrap
Phaser scene to improve the communication between Phaser and React/Redux as well as to smooth the scene changing workflow.RoomSelectionDialog
,CustomRoomTable
, andCreateRoomForm
. Instead of directly going into the public lobby like in our current prototype, users can now select to join the public lobby, search for custom rooms, or create their own custom rooms. There are also components to help user enter/validate room password.RoomStore
to store the states of available rooms, joined room properties, etc.Network
, clients will now first join theLobbyRoom
(Colyseus built-in room) to get real time updates of the custom room list. Once selecting a room, the client will leave theLobbyRoom
and join the selected room.Server side:
LobbyRoom
which allows real time listing of available custom rooms.onAuth()
step to the rooms' life cycle; if the room is password-protected, the server has get correct password to proceed to theonJoin()
step.bcrypt
to hash and compare password.I also want to make shareable links for custom rooms (need to add react-router), but I think this PR is already pretty huge. I will leave it for the next PR. Let me know your thoughts! Merry Christmas!