67 lines
1.3 KiB
JavaScript
67 lines
1.3 KiB
JavaScript
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 = []
|
|
}
|