-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.js
42 lines (40 loc) · 1.33 KB
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
let socket = new Network(`ws://127.0.0.1:6444`);
let domControl = new DomControl();
let game = new Game();
function initAll(name) {
$('#name').val("");
domControl.showLoading();
let promise = socket.connect(received);
if (promise) {
promise.then(() => {
domControl.init();
socket.send(SendHeader.HANDSHAKE, { name: name });
}).catch((err) => {
domControl.showError({ title: err, message: "Server is offline." })
});
}
}
function received(header, obj) {
switch (header) {
case ReceiveHeader.USERS:
if (domControl.state != DomState.LOBBY) domControl.intoLobby();
domControl.updatePlayers(obj.me, obj.users);
break;
case ReceiveHeader.ROOMS:
domControl.updateRooms(obj.rooms);
break;
case ReceiveHeader.LOBBY_CHAT:
domControl.pushMessage(obj);
break;
case ReceiveHeader.ERROR:
domControl.showError(obj);
break;
case ReceiveHeader.GAME_CHAT:
//domControl.showGameChat(obj); // you can implement gamechat here
break;
case ReceiveHeader.STATE:
if (domControl.state != DomState.GAME) game.init(obj);
else if (game.loaded) game.incomingPackets.push(obj);
break;
}
}