-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
86 lines (66 loc) · 2.1 KB
/
app.js
File metadata and controls
86 lines (66 loc) · 2.1 KB
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
var io = require('socket.io')(process.env.PORT || 8080);
global.outputs = require('./lib/outputs.js');
var ClustersModel = require('./src/models/clusters.js');
var Games = require('./src/models/games.js');
global.players = require('./src/models/players.js');
/**************/
/** CLUSTERS **/
/**************/
var normalCluster = new ClustersModel();
// Normal mode cluster
normalCluster.add('private');
normalCluster.addTo('private', new Games());
normalCluster.add('public');
normalCluster.addTo('public', new Games());
global.clusters = {
normal: normalCluster
};
/*****************/
/** CONTROLLERS **/
/*****************/
global.controllers = {
game: require('./src/controllers/game.js'),
intersections: require('./src/controllers/intersections.js'),
nodeDetection: require('./src/controllers/nodeDetection.js'),
nodeEmptyDetection: require('./src/controllers/nodeEmptyDetection.js')
};
/************/
/** EVENTS **/
/************/
global.events = {
search: require('./src/events/search.js'),
game: require('./src/events/game.js')
};
/***************/
/** LISTENING **/
/***************/
io.on('connection', function (socket) {
// When a player is looking for a public game
socket.on('search:normal', function (infos) {
global.events.search.normal(socket, infos);
});
// When a player join a private game
socket.on('search:join', function (infos) {
global.events.search.join(socket, infos);
});
// When a player create a private game
socket.on('search:create', function (infos) {
global.events.search.create(socket, infos);
});
// When a player cancel
socket.on('search:cancel', function () {
global.events.search.leave(socket);
});
// When a player make a move
socket.on('game:play', function (move) {
global.events.game.play(socket, move);
});
// When a player skip his turn
socket.on('game:skip', function () {
global.events.game.skip(socket);
});
// When a user leave a game
socket.on('disconnect', function () {
global.events.search.leave(socket);
});
});