From 35d327de5b6121646a8fff61f9b21bad559ff5c2 Mon Sep 17 00:00:00 2001 From: d3athrow Date: Sun, 20 Jul 2014 00:51:35 -0500 Subject: [PATCH] atmos control map, doesn't have clickable alarm overlays just yet. made oxyloss and toxloss easier to read on the nanoui. --- code/WorkInProgress/Mini/atmos_control.dm | 16 +++++++- nano/css/icons.css | 15 ++++++++ nano/css/shared.css | 8 ++++ nano/images/uiIcons16Orange.png | Bin 0 -> 31496 bytes nano/js/nano_base_helpers.js | 35 ++++++++++++++++++ nano/templates/atmos_control.tmpl | 1 + nano/templates/atmos_control_map_content.tmpl | 13 +++++++ nano/templates/atmos_control_map_header.tmpl | 12 ++++++ nano/templates/crew_monitor.tmpl | 4 +- nano/templates/crew_monitor_map_content.tmpl | 2 +- 10 files changed, 101 insertions(+), 5 deletions(-) create mode 100644 nano/images/uiIcons16Orange.png create mode 100644 nano/templates/atmos_control_map_content.tmpl create mode 100644 nano/templates/atmos_control_map_header.tmpl diff --git a/code/WorkInProgress/Mini/atmos_control.dm b/code/WorkInProgress/Mini/atmos_control.dm index 275b038277e..de8e47c9c64 100644 --- a/code/WorkInProgress/Mini/atmos_control.dm +++ b/code/WorkInProgress/Mini/atmos_control.dm @@ -64,11 +64,15 @@ for(var/obj/machinery/alarm/alarm in sortAtom(alarm_list)) if(!is_in_filter(alarm.alarm_area.type)) continue // NO ACCESS 4 U - + var/turf/pos = get_turf(alarm) var/list/alarm_data=list() alarm_data["ID"]="\ref[alarm]" alarm_data["danger"] = max(alarm.local_danger_level, alarm.alarm_area.atmosalm-1) alarm_data["name"] = "[alarm]" + alarm_data["area"] = get_area(alarm) + alarm_data["x"] = pos.x + alarm_data["y"] = pos.y + alarm_data["z"] = pos.z alarms+=list(alarm_data) data["alarms"]=alarms @@ -77,9 +81,17 @@ if (!ui) // the ui does not exist, so we'll create a new one - ui = new(user, src, ui_key, "atmos_control.tmpl", name, 550, 410) + ui = new(user, src, ui_key, "atmos_control.tmpl", name, 900, 800) + // adding a template with the key "mapContent" enables the map ui functionality + ui.add_template("mapContent", "atmos_control_map_content.tmpl") + // adding a template with the key "mapHeader" replaces the map header content + ui.add_template("mapHeader", "atmos_control_map_header.tmpl") // When the UI is first opened this is the data it will use + // we want to show the map by default + ui.set_show_map(1) + ui.set_initial_data(data) + ui.open() // Auto update every Master Controller tick if(current) diff --git a/nano/css/icons.css b/nano/css/icons.css index f3e207e63e5..c933b14529a 100644 --- a/nano/css/icons.css +++ b/nano/css/icons.css @@ -241,6 +241,21 @@ background-image: url(uiIcons16Red.png); } +.mapIcon16.bad { + background-image: url(uiIcons16Red.png); +} + +.mapIcon16.average { + background-image: url(uiIcons16Orange.png); +} + +.mapIcon16.good { + background-image: url(uiIcons16Green.png); +} + +/* AirAlarm */ +.mapIcon16.icon-airalarm { background-position: 0 -144px; } + /* Command Positions */ .mapIcon16.rank-captain { background-position: -224px -112px; diff --git a/nano/css/shared.css b/nano/css/shared.css index 632e76b6996..4614c7087e7 100644 --- a/nano/css/shared.css +++ b/nano/css/shared.css @@ -543,6 +543,14 @@ th.misc { color: green; } +.toxin_light { + color: #3ADF00; +} + .oxyloss { color: blue; +} + +.oxyloss_light { + color: #6698FF; } \ No newline at end of file diff --git a/nano/images/uiIcons16Orange.png b/nano/images/uiIcons16Orange.png new file mode 100644 index 0000000000000000000000000000000000000000..9dc8e1a0f459383770598f9748d362573aa6675d GIT binary patch literal 31496 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�zctB8MoF5 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 literal 0 HcmV?d00001 diff --git a/nano/js/nano_base_helpers.js b/nano/js/nano_base_helpers.js index dd7fa1b283c..2f17d5b39e2 100644 --- a/nano/js/nano_base_helpers.js +++ b/nano/js/nano_base_helpers.js @@ -145,6 +145,41 @@ NanoBaseHelpers = function () if(level==1) return 'average'; return 'bad'; }, + dangerToSpan: function(level) { + if(level==0) return '"Good"'; + if(level==1) return '"Minor Alert"'; + return '"Major Alert"'; + }, + generateHref: function (parameters) { + var body = $('body'); // We store data in the body tag, it's as good a place as any + _urlParameters = body.data('urlParameters'); + var queryString = '?'; + + for (var key in _urlParameters) + { + if (_urlParameters.hasOwnProperty(key)) + { + if (queryString !== '?') + { + queryString += ';'; + } + queryString += key + '=' + _urlParameters[key]; + } + } + + for (var key in parameters) + { + if (parameters.hasOwnProperty(key)) + { + if (queryString !== '?') + { + queryString += ';'; + } + queryString += key + '=' + parameters[key]; + } + } + return queryString; + }, // Display DNA Blocks (for the DNA Modifier UI) displayDNABlocks: function(dnaString, selectedBlock, selectedSubblock, blockSize, paramKey) { if (!dnaString) diff --git a/nano/templates/atmos_control.tmpl b/nano/templates/atmos_control.tmpl index 47651211132..618cff08e4f 100644 --- a/nano/templates/atmos_control.tmpl +++ b/nano/templates/atmos_control.tmpl @@ -16,6 +16,7 @@ Used In File(s): /code/game/machinery/alarm.dm #define AALARM_SCREEN_MODE 4 #define AALARM_SCREEN_SENSORS 5 --> +{{:helper.link('Show Tracker Map', 'pin-s', {'showMap' : 1})}} {{if !data.alarm}}

Atmospherics Control

diff --git a/nano/templates/atmos_control_map_content.tmpl b/nano/templates/atmos_control_map_content.tmpl new file mode 100644 index 00000000000..7163aef4515 --- /dev/null +++ b/nano/templates/atmos_control_map_content.tmpl @@ -0,0 +1,13 @@ + +{{for data.alarms}} + {{if value.z == 1}} +
+ +
+ {{/if}} +{{/for}} \ No newline at end of file diff --git a/nano/templates/atmos_control_map_header.tmpl b/nano/templates/atmos_control_map_header.tmpl new file mode 100644 index 00000000000..db62ffaa57f --- /dev/null +++ b/nano/templates/atmos_control_map_header.tmpl @@ -0,0 +1,12 @@ + +{{:helper.link('Show Detail List', 'script', {'showMap' : 0})}} +
+ Zoom Level:  + + + + +
\ No newline at end of file diff --git a/nano/templates/crew_monitor.tmpl b/nano/templates/crew_monitor.tmpl index db3e5673b47..babd0a85494 100644 --- a/nano/templates/crew_monitor.tmpl +++ b/nano/templates/crew_monitor.tmpl @@ -8,9 +8,9 @@ Used In File(s): \code\game\machinery\computer\crew.dm {{if value.sensor_type == 1}} {{:value.name}}{{:value.dead ? "Deceased" : "Living"}}Not Available {{else value.sensor_type == 2}} - {{:value.name}}{{:value.dead ? "Deceased" : "Living"}} ({{:value.oxy}}/{{:value.tox}}/{{:value.fire}}/{{:value.brute}})Not Available + {{:value.name}}{{:value.dead ? "Deceased" : "Living"}} ({{:value.oxy}}/{{:value.tox}}/{{:value.fire}}/{{:value.brute}})Not Available {{else value.sensor_type == 3}} - {{:value.name}}{{:value.dead ? "Deceased" : "Living"}} ({{:value.oxy}}/{{:value.tox}}/{{:value.fire}}/{{:value.brute}}){{:value.area}}({{:value.x}}, {{:value.y}}) + {{:value.name}}{{:value.dead ? "Deceased" : "Living"}} ({{:value.oxy}}/{{:value.tox}}/{{:value.fire}}/{{:value.brute}}){{:value.area}}({{:value.x}}, {{:value.y}}) {{/if}} {{/for}} \ No newline at end of file diff --git a/nano/templates/crew_monitor_map_content.tmpl b/nano/templates/crew_monitor_map_content.tmpl index 1a04f3fe9fb..ceacce23659 100644 --- a/nano/templates/crew_monitor_map_content.tmpl +++ b/nano/templates/crew_monitor_map_content.tmpl @@ -6,7 +6,7 @@ Used In File(s): \code\game\machinery\computer\crew.dm {{if value.sensor_type == 3}}
{{/if}}