core: recreation of matchmaking, add: matchmaking support multiple modes
This commit is contained in:
		@ -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) =>{
 | 
			
		||||
 | 
			
		||||
@ -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()
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user