2021-06-08 13:38:43 +00:00
|
|
|
let username;
|
|
|
|
let room_name;
|
|
|
|
|
2021-05-26 17:34:31 +00:00
|
|
|
window.addEventListener('beforeunload', function (e) {
|
|
|
|
// Prevent user from exiting page
|
|
|
|
e.preventDefault();
|
2021-05-26 14:26:05 +00:00
|
|
|
});
|
2021-06-08 13:38:43 +00:00
|
|
|
|
|
|
|
document.getElementById('ok').addEventListener('click', function () {
|
|
|
|
username = document.getElementById('username').value;
|
|
|
|
room_name = document.getElementById('room').value;
|
|
|
|
|
2021-07-11 14:01:33 +00:00
|
|
|
if (username !== "" && room_name !== "") {
|
|
|
|
socket = io("/", {
|
|
|
|
closeOnBeforeunload: false
|
|
|
|
});
|
2021-06-18 08:19:03 +00:00
|
|
|
|
2021-07-11 14:01:33 +00:00
|
|
|
// Login
|
|
|
|
socket.emit('add user', {'username': username, 'room_name': room_name});
|
2021-06-18 11:18:25 +00:00
|
|
|
|
|
|
|
|
2021-07-11 16:28:23 +00:00
|
|
|
socket.on('login', function (data) {
|
2021-07-11 14:01:33 +00:00
|
|
|
connected = true;
|
2021-06-18 11:18:25 +00:00
|
|
|
|
2021-07-11 14:01:33 +00:00
|
|
|
document.getElementById('login').style.display = 'none';
|
|
|
|
document.getElementById('game').style.display = 'flex';
|
|
|
|
document.getElementById('chat').style.display = 'flex';
|
|
|
|
start_game();
|
|
|
|
resize();
|
2021-06-18 11:18:25 +00:00
|
|
|
|
2021-07-11 14:01:33 +00:00
|
|
|
addLogMessage("Welcome " + username + "!");
|
2021-07-11 16:28:23 +00:00
|
|
|
|
|
|
|
switch (parseInt(data)) {
|
|
|
|
case 0:
|
|
|
|
document.getElementsByTagName('header')[0].classList.add('yellow');
|
|
|
|
break;
|
|
|
|
case 1:
|
|
|
|
document.getElementsByTagName('header')[0].classList.add('blue');
|
|
|
|
break;
|
|
|
|
case 2:
|
|
|
|
document.getElementsByTagName('header')[0].classList.add('green');
|
|
|
|
break;
|
|
|
|
case 3:
|
|
|
|
document.getElementsByTagName('header')[0].classList.add('red');
|
|
|
|
break;
|
|
|
|
}
|
2021-07-11 14:01:33 +00:00
|
|
|
});
|
2021-06-18 11:18:25 +00:00
|
|
|
|
2021-07-11 14:01:33 +00:00
|
|
|
socket.on('error', function (data) {
|
2021-07-12 08:24:50 +00:00
|
|
|
document.getElementById('login').style.display = 'flex';
|
|
|
|
document.getElementById('game').style.display = 'none';
|
|
|
|
document.getElementById('chat').style.display = 'none';
|
|
|
|
document.getElementById('error').innerText = data;
|
2021-07-11 14:01:33 +00:00
|
|
|
});
|
2021-06-18 11:18:25 +00:00
|
|
|
|
2021-07-11 14:01:33 +00:00
|
|
|
socket.on('new message', function (data) {
|
|
|
|
addChatMessage(data);
|
|
|
|
});
|
2021-06-18 11:18:25 +00:00
|
|
|
|
2021-07-11 14:01:33 +00:00
|
|
|
socket.on('user joined', function (data) {
|
|
|
|
addLogMessage(data + ' joined');
|
|
|
|
});
|
2021-06-18 11:18:25 +00:00
|
|
|
|
2021-07-11 14:01:33 +00:00
|
|
|
socket.on('user left', function (data) {
|
|
|
|
addLogMessage(data + ' left');
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
document.getElementById('error').innerText = 'Username and/or room name cannot be empty!';
|
|
|
|
}
|
2021-06-24 09:12:34 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
function open_manual() {
|
|
|
|
let frame = document.createElement('iframe');
|
|
|
|
frame.src = 'data/Spielanleitung.pdf';
|
|
|
|
frame.id = 'spielanleitung';
|
2021-07-01 07:23:50 +00:00
|
|
|
|
|
|
|
document.getElementById('manual').innerHTML = '';
|
|
|
|
document.getElementById('manual').appendChild(frame);
|
2021-06-24 09:12:34 +00:00
|
|
|
document.getElementById('modal').style.display = 'block';
|
|
|
|
}
|