bindings.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. function onDeviceClick() {
  2. var ip = this.hasOwnProperty("secret") && this.secret ? "<i>secret</i>" : this.id;
  3. $("#subpane").html("<h3>Device info</h3><p><img src=\"./includes/"+(this.image||'imac')+".png\"></p><p>IP address: "+ip+"</p>");
  4. $("#subpane").show();
  5. $("#subpane_close").show();
  6. $("#leveldescrip").hide();
  7. }
  8. function onPacketClick() {
  9. var str = "<h3>Packet info</h3>";
  10. str += onPacketClick_helper("network", this);
  11. str += onPacketClick_helper("transport", this);
  12. str += onPacketClick_helper("application", this);
  13. $("#subpane").html(str);
  14. $("#subpane").show();
  15. $("#subpane_close").show();
  16. $("#leveldescrip").hide();
  17. }
  18. function onPacketClick_helper(layer, pkt) {
  19. if (!pkt.hasOwnProperty(layer)) return "";
  20. var keys = Object.keys(pkt[layer]);
  21. var str = "<h4>"+layer+" layer</h4><table>";
  22. for (var i = 0; i < keys.length; i++) str += "<tr><td>"+keys[i]+":</td><td>"+pkt[layer][keys[i]]+"</td></tr>";
  23. return str+"</table>";
  24. }
  25. function onSubpaneClose() {
  26. $("#subpane").hide();
  27. $("#subpane_close").hide();
  28. $("#leveldescrip").show();
  29. }
  30. function btnReset() {
  31. grpPackets.callAll('kill');
  32. grpPackets.destroy(true);
  33. grpPackets = game.add.group();
  34. game.time.reset();
  35. if (game.time.slowMotion == 1) btnFast();
  36. else btnPlay();
  37. initEvents();
  38. }
  39. function btnPause() {
  40. game.paused = true;
  41. pause_.visible = false;
  42. play_.visible = true;
  43. fast_.visible = true;
  44. }
  45. function btnPlay() {
  46. game.time.slowMotion = DEFAULT_GAMESPEED;
  47. game.paused = false;
  48. pause_.visible = true;
  49. play_.visible = false;
  50. fast_.visible = true;
  51. }
  52. function btnFast() {
  53. game.time.slowMotion = 1;
  54. game.paused = false;
  55. pause_.visible = true;
  56. play_.visible = true;
  57. fast_.visible = false;
  58. }
  59. function btnAdd() {
  60. createPacketEditor(-1, {});
  61. }
  62. function btnEdit() {
  63. createPacketEditor(this.launcherIndex, playerPackets[this.launcherIndex]);
  64. }
  65. function btnLaunch() {
  66. var pkt = playerPackets[this.launcherIndex];
  67. if (devices[pkt.from].locked) return;
  68. devices[pkt.from].locked = true;
  69. if (pkt.hasOwnProperty("repeat") && pkt.repeat > 1) {
  70. for (var i = 0; i < pkt.repeat; i++) {
  71. game.time.events.add( 100 * i, playPacket, pkt );
  72. }
  73. game.time.events.add(100 * (parseInt(pkt.repeat) + 1), launcherUnlock, pkt);
  74. } else {
  75. doPacketAnimation(pkt.from, getDefaultRecipient(pkt.from), pkt.payload);
  76. game.time.events.add(100, launcherUnlock, pkt);
  77. }
  78. }
  79. function launcherUnlock(index) {
  80. devices[this.from].locked = false;
  81. }