Ports sensor monitoring program to VueUI. (#7817)

This commit is contained in:
Karolis
2020-01-04 13:29:37 +02:00
committed by Matt Atlas
parent f975c2e07b
commit a239c37a1b
7 changed files with 209 additions and 52 deletions
@@ -1,7 +1,6 @@
/datum/computer_file/program/suit_sensors
filename = "sensormonitor"
filedesc = "Suit Sensors Monitoring"
nanomodule_path = /datum/nano_module/crew_monitor
program_icon_state = "crew"
extended_desc = "This program connects to life signs monitoring system to provide basic information on crew health."
required_access_run = access_medical
@@ -11,3 +10,47 @@
size = 11
usage_flags = PROGRAM_LAPTOP | PROGRAM_TELESCREEN | PROGRAM_CONSOLE
color = LIGHT_COLOR_CYAN
/datum/computer_file/program/suit_sensors/ui_interact(mob/user)
var/datum/vueui/ui = SSvueui.get_open_ui(user, src)
if (!ui)
ui = new /datum/vueui/modularcomputer(user, src, "mcomputer-medical-sensors", 800, 600, "Suit Sensors Monitoring")
ui.auto_update_content = 1
ui.open()
/datum/computer_file/program/suit_sensors/vueui_transfer(oldobj)
SSvueui.transfer_uis(oldobj, src, "mcomputer-medical-sensors", 800, 600, "Suit Sensors Monitoring")
return TRUE
/datum/computer_file/program/suit_sensors/vueui_data_change(var/list/data, var/mob/user, var/datum/vueui/ui)
. = ..()
data = . || data || list()
// Gather data for computer header
var/headerdata = get_header_data(data["_PC"])
if(headerdata)
data["_PC"] = headerdata
. = data
var/datum/signal/signal
signal = telecomms_process_active()
VUEUI_SET_CHECK(data["isAI"], isAI(user), ., data)
data["crewmembers"] = list()
if(signal.data["done"] == 1)
for(var/z_level in current_map.map_levels)
data["crewmembers"] += crew_repository.health_data(z_level)
return data // This UI needs to constantly update
/datum/computer_file/program/suit_sensors/Topic(href, href_list)
. = ..()
if(href_list["track"])
if(isAI(usr))
var/mob/living/silicon/ai/AI = usr
var/mob/living/carbon/human/H = locate(href_list["track"]) in mob_list
if(hassensorlevel(H, SUIT_SENSOR_TRACKING))
AI.ai_actual_track(H)