MultiplayerMinesweeper/www/scripts/net/netcode.js

67 lines
1.3 KiB
JavaScript
Raw Normal View History

import * as env from "/scripts/env.js"
import * as status from "/scripts/net/status.js"
import {game} from "/scripts/game/game.js"
import {render} from "/scripts/display/draw.js"
import { changeScene } from "/scripts/interface/scene.js"
export var socket = io.connect(env.IP_ADDRESS);
export function joinGame(data){
socket.emit('joinGame', data);
}
export function clickCanvas(data) {
socket.emit('clickCanvas', data);
}
function leaveGame(socket){
socket.emit('leaveGame', {});
}
socket.on('connect', function(data){
status.connected()
})
socket.on('disconnect', function(data){
status.disconnected()
})
socket.on('illegalAction', function(data){
let action
switch (data) {
case 1:
action = "You must be in game to do this."
changeScene("mainmenu");
game.reset();
break;
case 20:
action = "That name is already taken."
break;
case 23:
action = "Invalid Placement location."
break;
default:
action = "Unknown action."
}
console.log(`Illegal Action. ${action}`)
alert(`Illegal Action, ${action}`)
})
socket.on('playerList', function(data){
console.log(data)
});
socket.on('inGame', function(data){
if (!game.status) {changeScene("game")}
game.status = true;
})
socket.on('sync', function (sync){
game.world = sync.world;
render()
})
window.onbeforeunload = function(){
game.world = []
}