Shuttle Console nano-ui.

This commit is contained in:
davipatury
2017-02-18 20:49:38 -02:00
parent e0b23a1e10
commit f1ae2e3f3a
2 changed files with 53 additions and 23 deletions
+25 -23
View File
@@ -676,41 +676,41 @@
return
if(!shuttleId)
return
src.add_fingerprint(usr)
connect()
add_fingerprint(user)
ui_interact(user)
var/list/options = params2list(possible_destinations)
/obj/machinery/computer/shuttle/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
var/obj/docking_port/mobile/M = shuttle_master.getShuttle(shuttleId)
var/dat = "Status: [M ? M.getStatusText() : "*Missing*"]<br><br>"
ui = nanomanager.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "shuttle_console.tmpl", M ? M.name : "shuttle", 300, 200)
ui.open()
/obj/machinery/computer/shuttle/ui_data(mob/user, ui_key = "main", datum/topic_state/state = default_state)
var/data[0]
var/obj/docking_port/mobile/M = shuttle_master.getShuttle(shuttleId)
data["status"] = M ? M.getStatusText() : null
if(M)
var/destination_found
data["shuttle"] = 1
var/list/docking_ports = list()
data["docking_ports"] = docking_ports
var/list/options = params2list(possible_destinations)
for(var/obj/docking_port/stationary/S in shuttle_master.stationary)
if(!options.Find(S.id))
continue
if(!M.check_dock(S))
continue
destination_found = 1
dat += "<A href='?src=[UID()];move=[S.id]'>Send to [S.name]</A><br>"
if(!destination_found)
dat += "<B>Shuttle Locked</B><br>"
if(admin_controlled)
dat += "Authorized personnel only<br>"
dat += "<A href='?src=[UID()];request=1]'>Request Authorization</A><br>"
if(docking_request)
dat += "<A href='?src=[UID()];request=1]'>Request docking at NSS Cyberiad</A><br>"
dat += "<a href='?src=[user.UID()];mach_close=computer'>Close</a>"
docking_ports[++docking_ports.len] = list("name" = S.name, "id" = S.id)
data["admin_controlled"] = admin_controlled
data["docking_request"] = docking_request
var/datum/browser/popup = new(user, "computer", M ? M.name : "shuttle", 300, 200)
popup.set_content("<center>[dat]</center>")
popup.set_title_image(usr.browse_rsc_icon(src.icon, src.icon_state))
popup.open()
return data
/obj/machinery/computer/shuttle/Topic(href, href_list)
if(..())
return 1
usr.set_machine(src)
src.add_fingerprint(usr)
if(!allowed(usr))
to_chat(usr, "<span class='danger'>Access denied.</span>")
return
@@ -728,7 +728,7 @@
to_chat(usr, "<span class='warning'>Invalid shuttle requested.</span>")
else
to_chat(usr, "<span class='notice'>Unable to comply.</span>")
updateUsrDialog()
return 1
/obj/machinery/computer/shuttle/emag_act(mob/user)
if(!emagged)
@@ -760,10 +760,11 @@
to_chat(usr, "<span class='notice'>Your request has been recieved by Centcom.</span>")
log_admin("[key_name(usr)] requested to move the transport ferry to Centcom.")
message_admins("<b>FERRY: <font color='blue'>[key_name_admin(usr)] (<A HREF='?_src_=holder;secretsfun=moveferry'>Move Ferry</a>)</b> is requesting to move the transport ferry to Centcom.</font>")
. = 1
nanomanager.update_uis(src)
spawn(600) //One minute cooldown
cooldown = 0
/obj/machinery/computer/shuttle/ert
name = "specops shuttle console"
//circuit = /obj/item/weapon/circuitboard/ert
@@ -846,6 +847,7 @@ var/global/trade_dockrequest_timelimit = 0
to_chat(usr, "<span class='notice'>Request sent.</span>")
event_announcement.Announce(docking_request_message, "Docking Request")
trade_dockrequest_timelimit = world.time + 1200 // They have 2 minutes to approve the request.
return 1
/obj/machinery/computer/shuttle/trade/sol
req_access = list(access_trade_sol)