core: recreation of matchmaking, add: matchmaking support multiple modes

This commit is contained in:
2023-12-23 12:54:33 +01:00
parent 278e2cbe54
commit 6c39a13aca
8 changed files with 143 additions and 41 deletions

View File

@ -14,7 +14,7 @@ class Channel {
// reload = function to use when we receive a message
async connect(reload) {
let url = `ws://${window.location.host}/ws/chat/${this.channel_id}/`;
let url = `wss://${window.location.host}/ws/chat/${this.channel_id}/`;
this.chatSocket = new WebSocket(url);
this.chatSocket.onmessage = (event) =>{

View File

@ -11,18 +11,21 @@ class MatchMaking
* @type {Client}
*/
this.client = client
this.searching = false;
}
async start(func)
async start(func, mode)
{
if (!await this.client.isAuthentificate())
return null;
let url = `wss://${window.location.host}/ws/matchmaking/`;
let url = `wss://${window.location.host}/ws/matchmaking/${mode}`;
this._chatSocket = new WebSocket(url);
this._socket = new WebSocket(url);
this._chatSocket.onmessage = function (event) {
this.searching = true;
this._socket.onmessage = function (event) {
const data = JSON.parse(event.data);
func(data.game_id)
};
@ -30,7 +33,8 @@ class MatchMaking
async stop()
{
this._chatSocket.close()
this.searching = false;
this._socket.close()
}
}