{"name":"ship compass","enabled":true,"description":"","type":"group","id":1,"items":[{"type":"function","name":"onLoad","enabled":true,"id":2,"code":"//Enter the function here\n//movement_button_click(button)\n//movement_button_nw\n//rel\n//Enter the function here\n\nscom = typeof scom != 'undefined' ? scom : {}\n\nscom.state = scom.state || 0\n\nscom.inSpace = function() {\n scom.state = 1;\n update_movement_compass()\n}\n\nscom.normalise = function() {\n scom.state = 0;\n update_movement_compass()\n}\nclient.movement_button_click = function(button) {\n // nothing if the button is disabled\n if (!button.hasClass('movement_enabled')) return;\n var dir = button.attr(\"rel\");\n\n if (dir == 'toggle') {\n var btns = $('.movement_button').not('.movement_button_toggle');\n var visible = btns.eq(0).css('visibility');\n // toggle all the buttons \n btns.css('visibility', (visible == 'hidden') ? 'visible' : 'hidden');\n // if not mobile layout, move the button too\n if (!client.mobile) {\n if (visible == 'hidden')\n $('.movement_button_toggle').css('top', 'auto').css('bottom', '0');\n else\n $('.movement_button_toggle').css('top', '34px').css('bottom', 'auto');\n }\n return;\n }\n if (dir.length) {\n\t\tif (scom.state == 1) {\n if (dir == 'in') {\n client.send_direct('ship dock', true);\n } else if (dir == 'out') {\n client.send_direct('ship launch', true);\n } else if (dir == 'u') {\n client.send_direct('ship thrust full', true);\n } else if (dir == 'd') {\n client.send_direct('ship maxspeed 10', true);\n } else if (dir == 'look') {\n client.send_direct('ship beacon', true);\n } else {\n client.send_direct('ship turn '+dir, true);\n }\n } else {\n client.send_direct(dir, true);\n }\n \n }\n}\n\nclient.update_movement_compass = function(exits) {\n var buttons = $('.movement_button.movement_dir');\n if (!buttons.length) return;\n if (scom.state == 1) {\n for (var i = 0; i < buttons.length; ++i) {\n var img = buttons.eq(i);\n img.attr('src', client.movement_compass_pic(img, true)).addClass('movement_enabled');\n }\n return;\n }\n\n // disable all the buttons\n buttons.removeClass('movement_enabled');\n for (var i = 0; i < buttons.length; ++i) {\n var img = buttons.eq(i);\n img.attr('src', client.movement_compass_pic(img, false));\n }\n\n // then enable ones that are listed\n for (var exit in exits) {\n exit = client.get_brief_direction_name(exit.toLowerCase());\n var img = buttons.filter('.movement_button_' + exit);\n if (!img.length) continue;\n img.attr('src', client.movement_compass_pic(img, true)).addClass('movement_enabled');\n }\n}"},{"type":"function","name":"onGMCP","enabled":true,"id":3,"code":"//Enter the function here\nif (args.gmcp_method == 'Room.Info') {\n if (args.gmcp_args.num == -2 && args.gmcp_args.environment == 'bridge') {\n if (scom.state == 1) { // do nothing\n } else {\n scom.inSpace()\n }\n } else if (scom.state == 1) {\n scom.normalise()\n }\n}"}]}