diff options
| author | Alexander M Pickering <alex@cogarr.net> | 2024-01-29 16:20:10 -0600 |
|---|---|---|
| committer | Alexander M Pickering <alex@cogarr.net> | 2024-01-29 16:20:10 -0600 |
| commit | c2926c5ec74d7e37da395c8c32a7ff2b4cae7d06 (patch) | |
| tree | ac2bb208dab1274cdc5e9059ffe014ae19181a4c /src/js/lobby.js | |
| download | fools_rush_in-c2926c5ec74d7e37da395c8c32a7ff2b4cae7d06.tar.gz fools_rush_in-c2926c5ec74d7e37da395c8c32a7ff2b4cae7d06.tar.bz2 fools_rush_in-c2926c5ec74d7e37da395c8c32a7ff2b4cae7d06.zip | |
All the files
Diffstat (limited to 'src/js/lobby.js')
| -rw-r--r-- | src/js/lobby.js | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/src/js/lobby.js b/src/js/lobby.js new file mode 100644 index 0000000..e012b92 --- /dev/null +++ b/src/js/lobby.js @@ -0,0 +1,80 @@ +var s = document.createElement('script'); +s.setAttribute('src','https://unpkg.com/peerjs@1.5.2/dist/peerjs.min.js'); +document.body.appendChild(s); +function genRanHex(size) { + return Array.apply(null,Array(size)).map(() => Math.floor(Math.random() * 16).toString(16)).join(''); +} +GLOBAL = {} +GLOBAL.lobby_id = genRanHex(6); +console.log("lobby_id:" + GLOBAL.lobby_id); +var peer = new Peer("ANGRY_ADVENTURE_" + GLOBAL.lobby_id, {"debug": 3}); +var peer_id = null; +var poo = peer.on('open', function(id) { + console.log('My peer ID is: ' + id); + peer.on("connection",function(conn){ + console.log("Got a connection!") + GLOBAL.connections[conn.peer] = conn + conn.send("Hello!") + GLOBAL.message_queue.push({ + "msg": "data", + "peer": conn.peer, + "data": '{"msg":"player_joined"}' + }) + conn.on("data",function(data){ + console.log("Got some data from a peer!:" + data) + GLOBAL.message_queue.push({ + "msg": "data", + "peer": conn.peer, + "data": data + }) + }) + conn.on("error",function(err){ + console.log("Error on a connection:" + err) + GLOBAL.message_queue.push({ + "msg": "error", + "peer": conn.peer, + "err": err + }) + }) + }) + GLOBAL.peer_id = id; +}); +console.log("poo:" + poo); +console.log("Peer:",peer) +var poe = peer.on('error',function(err){ + console.log("Error on peer:") + console.log(err); + GLOBAL.error = err; +}); +GLOBAL.peer = peer; +GLOBAL.peer_id = () => peer_id; +GLOBAL.get_error = () => error; +GLOBAL.connections = {}; +GLOBAL["get_message"] = function(){ + if(GLOBAL.message_queue.length >= 1){ + return GLOBAL.message_queue.shift(); + }else{ + return null; + } +} +GLOBAL["send_message"] = function(who, data){ + if(GLOBAL.connections[who]._open){ + GLOBAL.connections[who].send(data); + return true + } + return false; +} +GLOBAL["broadcast"] = function(data){ + console.log("Server broadcasting message:") + console.log(data) + for(var peerid in GLOBAL.connections){ + if (GLOBAL.connections[peerid]._open){ + GLOBAL.connections[peerid].send(data); + } + } + return true; +} +GLOBAL["get_peers"] = function() { + return GLOBAL.connections; +} +GLOBAL.message_queue = []; |
