|
|
|
'use strict';
|
|
|
|
|
|
|
|
function socketConnect(project, name = "noone"){
|
|
|
|
let urlQueries = '?game=' + project.name + '&name=' + name;
|
|
|
|
let url = 'https://' + location.hostname + urlQueries;
|
|
|
|
socket = io.connect(url, {
|
|
|
|
path: "/global-draw/"
|
|
|
|
});
|
|
|
|
socket.on('connect', () => {
|
|
|
|
console.log('Connected to ', url);
|
|
|
|
|
|
|
|
socket.emit('join-lobby', 'global-draw-room');
|
|
|
|
|
|
|
|
socket.on('add-line', (lobby, line) => drawer.addLine(line));
|
|
|
|
socket.on('fill-pixel', (lobby, pixel) => drawer.fillPixel(pixel));
|
|
|
|
socket.on('add-all', (lines) => drawer.onLinesLoaded(lines));
|
|
|
|
socket.on('fill-all', (pixels) => drawer.onPixelsLoaded(pixels));
|
|
|
|
socket.on('member-joined', (lobby, clientId) => {
|
|
|
|
if (clientId !== socket.id)
|
|
|
|
return;
|
|
|
|
if (drawer)
|
|
|
|
if (drawer.lines.length !== 0)
|
|
|
|
return;
|
|
|
|
|
|
|
|
socket.emit('request-all-lines');
|
|
|
|
socket.emit('request-all-pixels');
|
|
|
|
$("#action").html("Downloading...");
|
|
|
|
});
|
|
|
|
|
|
|
|
socket.on('all-saved', (_lobby) => drawer.answerServerSave());
|
|
|
|
|
|
|
|
updateDrawType($("input[type=radio][name=type]:checked").val());
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
function sendFeedback(){
|
|
|
|
$.post('/php/post_feedback.php', {content: $('#user_feedback > textarea').val(), projectName: localSettings.project.name});
|
|
|
|
}
|
|
|
|
|
|
|
|
function createLobby(dom){
|
|
|
|
if (inputIsValid('create')){
|
|
|
|
onlineRequestFrontend(dom);
|
|
|
|
//TODO
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function joinLobby(dom){
|
|
|
|
if (inputIsValid('join')){
|
|
|
|
onlineRequestFrontend(dom);
|
|
|
|
//TODO
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function onlineRequestFrontend(dom){
|
|
|
|
$(dom).blur();
|
|
|
|
$(dom).attr('disabled', 'disabled');
|
|
|
|
if (loader) loader.destroy();
|
|
|
|
loader = new Loader($('#loader').get(0));
|
|
|
|
}
|
|
|
|
|
|
|
|
function inputIsValid(type){
|
|
|
|
let valid = true;
|
|
|
|
$('.error-label').html('');
|
|
|
|
if (type === 'create'){
|
|
|
|
if ($('#player-name > input').val() === ''){
|
|
|
|
valid = false;
|
|
|
|
$('#player-name > .error-label').html('Please enter a name!');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (type === 'join'){
|
|
|
|
if ($('#player-name > input').val() === ''){
|
|
|
|
valid = false;
|
|
|
|
$('#player-name > .error-label').html('Please enter a name!');
|
|
|
|
}
|
|
|
|
if ($('#lobby-code > input').val() === ''){
|
|
|
|
valid = false;
|
|
|
|
$('#lobby-code > .error-label').html('Please enter your code!');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return valid;
|
|
|
|
}
|