mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-19 14:12:55 +00:00
57 lines
1.7 KiB
Plaintext
57 lines
1.7 KiB
Plaintext
/datum/computer_file/program/silicon_management
|
|
filename = "Silicon Manager"
|
|
filedesc = "Silicon Manager"
|
|
downloader_category = PROGRAM_CATEGORY_EQUIPMENT
|
|
program_open_overlay = "id"
|
|
extended_desc = "Program for viewing and changing Silicon priority."
|
|
download_access = list(ACCESS_ROBOTICS)
|
|
program_flags = PROGRAM_ON_NTNET_STORE | PROGRAM_REQUIRES_NTNET
|
|
size = 4
|
|
tgui_id = "SiliconJobManager"
|
|
program_icon = "address-book"
|
|
|
|
/datum/computer_file/program/silicon_management/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
|
|
. = ..()
|
|
var/obj/item/card/id/user_id = computer.computer_id_slot
|
|
if(!user_id || !(ACCESS_ROBOTICS in user_id.access))
|
|
return TRUE
|
|
|
|
if(action)
|
|
var/priority_target = params["target"]
|
|
var/datum/job/silicon = SSjob.get_job(priority_target)
|
|
if(silicon in SSjob.prioritized_jobs)
|
|
SSjob.prioritized_jobs -= silicon
|
|
else
|
|
SSjob.prioritized_jobs += silicon
|
|
playsound(computer, 'sound/machines/terminal/terminal_prompt_confirm.ogg', 50, FALSE)
|
|
return TRUE
|
|
|
|
/datum/computer_file/program/silicon_management/ui_data(mob/user)
|
|
var/list/data = list()
|
|
|
|
var/authed = FALSE
|
|
var/obj/item/card/id/user_id = computer.computer_id_slot
|
|
if(user_id && (ACCESS_ROBOTICS in user_id.access))
|
|
authed = TRUE
|
|
|
|
var/list/silicon_jobs = list(
|
|
SSjob.get_job(JOB_AI),
|
|
SSjob.get_job(JOB_CYBORG)
|
|
)
|
|
data["authed"] = authed
|
|
|
|
var/list/pos = list()
|
|
var/list/priority = list()
|
|
for(var/datum/job/job as anything in silicon_jobs)
|
|
if(job in SSjob.prioritized_jobs)
|
|
priority += job.title
|
|
|
|
pos += list(list(
|
|
"title" = job.title,
|
|
"current" = job.current_positions,
|
|
"total" = job.total_positions,
|
|
))
|
|
data["slots"] = pos
|
|
data["prioritized"] = priority
|
|
return data
|