123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- $(document).ready(function(){
-
- $('[name="username"]').focus();
- $('[type="button"]').button();
- });
- function sendPacket(src, portnum, payload) {
- doPacketAnimation(src, getPortRecipient(src, portnum), payload);
- }
- function doPacketAnimation(src, dst, payload) {
- var pkt = grpPackets.create(devices[src].sprite.centerX - 16, devices[src].sprite.centerY - 16, 'packet');
- pkt.inputEnabled = true;
- pkt.events.onInputDown.add(onPacketClick, payload);
- var tween = game.add.tween(pkt);
- pkt.dst = dst;
- pkt.payload = payload;
- pkt.portNum = getRemotePort(src, dst);
- tween.to({x: devices[dst].sprite.centerX - 16, y: devices[dst].sprite.centerY - 16}, 3000, Phaser.Easing.Sinusoidal.InOut);
- tween.onComplete.add(donePacket, pkt);
- tween.start();
- }
- function createLaunchers() {
- grpLaunchers.callAll('kill');
- grpLaunchers.destroy(true);
- grpLaunchers = game.add.group();
- for (var i = 0; i < playerPackets.length; i++) {
- var edit = grpLaunchers.add( game.add.button(20, 120 + i * 60, 'edit', btnEdit) );
- edit.launcherIndex = i;
- var launch = grpLaunchers.add( game.add.button(80, 120 + i * 60, 'launch', btnLaunch) );
- launch.launcherIndex = i;
- }
- grpLaunchers.add( game.add.button(20, 135 + 60 * playerPackets.length, 'add', btnAdd) );
- }
- function createPacketEditor(index, packet) {
- var str = "Sent from: <select id=\"pktFrom\">";
- for (var i = 0; i < level.devices.length; i++) {
- if (level.devices[i].player) {
- str += "<option"+(packet.from == level.devices[i].id ? " selected" : "")+">"+level.devices[i].id+"</option>";
- }
- }
- str += "</select><br>";
- for (var i = 0; i < packetFields.length; i++) {
- str += "<fieldset><legend>"+packetFields[i].layer+"</legend>";
- for (var j = 0; j < packetFields[i].fields.length; j++) {
- str += packetFields[i].fields[j]+":<br><input type=\"text\" id=\""+packetFields[i].layer+"_"+packetFields[i].fields[j]+"\" value=\""+payloadStr(packet, packetFields[i].layer, packetFields[i].fields[j])+"\"><br>";
- }
- str += "</fieldset>";
- }
- str += "<p>Repeat: <input type=\"text\" id=\"repeat\" style=\"width:40px;\" value=\""+(packet.hasOwnProperty("repeat") ? packet.repeat : 1)+"\"></p>";
- $("#editor").html(str);
- $('#editor').dialog({
- title: index < 0 ? "Add packet" : "Update packet",
- resizable:false,
- buttons:[
- { text: "Remove", click:function() { deletePlayerPacket(index); createLaunchers(); $(this).dialog("close"); }},
- { text: index < 0 ? "Add" : "Update", click:function() { updatePlayerPacket(index < 0 ? playerPackets.length : index); createLaunchers(); $(this).dialog("close");}}
- ]
- });
- $('select').selectmenu();
- $('#editor').show();
- }
- function deletePlayerPacket(index) {
- playerPackets.splice(index, 1);
- savePlayerPackets();
- }
- function updatePlayerPacket(index) {
- playerPackets[index] = {
- from: $("#pktFrom").val(),
- repeat: $("#repeat").val(),
- payload:{}
- };
- for (var i = 0; i < packetFields.length; i++) {
- playerPackets[index].payload[packetFields[i].layer] = {};
- for (var j = 0; j < packetFields[i].fields.length; j++) {
- var val = $("#"+packetFields[i].layer+"_"+packetFields[i].fields[j]).val();
- if (val != "") {
- playerPackets[index].payload[packetFields[i].layer][ packetFields[i].fields[j] ] = val;
- }
- }
- }
- savePlayerPackets();
- }
- function payloadStr(packet, layer, field) {
- return packet.hasOwnProperty("payload") && packet.payload.hasOwnProperty(layer) && packet.payload[layer].hasOwnProperty(field) ? packet.payload[layer][field] : "";
- }
- function savePlayerPackets() {
- $.post("./solns.ajax.php?level="+levelid+"&method=save", {
- json:JSON.stringify(playerPackets)
- });
- }
- function loadPlayerPackets() {
- $.getJSON("./solns.ajax.php?level="+levelid+"&method=load").done(function(data){
- playerPackets = data;
- createLaunchers();
- }).fail(function(jxr, txt, err) {
- console.log("lPP fail: "+txt+", "+err);
- });
- }
|