function onDeviceClick() { var ip = this.hasOwnProperty("secret") && this.secret ? "<i>secret</i>" : this.id; $("#subpane").html("<h3>Device info</h3><p><img src=\"./includes/"+(this.image||'imac')+".png\"></p><p>IP address: "+ip+"</p>"); $("#subpane").show(); $("#subpane_close").show(); $("#leveldescrip").hide(); } function onPacketClick() { var str = "<h3>Packet info</h3>"; str += onPacketClick_helper("network", this); str += onPacketClick_helper("transport", this); str += onPacketClick_helper("application", this); $("#subpane").html(str); $("#subpane").show(); $("#subpane_close").show(); $("#leveldescrip").hide(); } function onPacketClick_helper(layer, pkt) { if (!pkt.hasOwnProperty(layer)) return ""; var keys = Object.keys(pkt[layer]); var str = "<h4>"+layer+" layer</h4><table>"; for (var i = 0; i < keys.length; i++) str += "<tr><td>"+keys[i]+":</td><td>"+pkt[layer][keys[i]]+"</td></tr>"; return str+"</table>"; } function onSubpaneClose() { $("#subpane").hide(); $("#subpane_close").hide(); $("#leveldescrip").show(); } function btnReset() { grpPackets.callAll('kill'); grpPackets.destroy(true); grpPackets = game.add.group(); game.time.reset(); if (game.time.slowMotion == 1) btnFast(); else btnPlay(); initEvents(); } function btnPause() { game.paused = true; pause_.visible = false; play_.visible = true; fast_.visible = true; } function btnPlay() { game.time.slowMotion = DEFAULT_GAMESPEED; game.paused = false; pause_.visible = true; play_.visible = false; fast_.visible = true; } function btnFast() { game.time.slowMotion = 1; game.paused = false; pause_.visible = true; play_.visible = true; fast_.visible = false; } function btnAdd() { createPacketEditor(-1, {}); } function btnEdit() { createPacketEditor(this.launcherIndex, playerPackets[this.launcherIndex]); } function btnLaunch() { var pkt = playerPackets[this.launcherIndex]; if (devices[pkt.from].locked) return; devices[pkt.from].locked = true; if (pkt.hasOwnProperty("repeat") && pkt.repeat > 1) { for (var i = 0; i < pkt.repeat; i++) { game.time.events.add( 100 * i, playPacket, pkt ); } game.time.events.add(100 * (parseInt(pkt.repeat) + 1), launcherUnlock, pkt); } else { doPacketAnimation(pkt.from, getDefaultRecipient(pkt.from), pkt.payload); game.time.events.add(100, launcherUnlock, pkt); } } function launcherUnlock(index) { devices[this.from].locked = false; }