diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index bd253da195..df6e3a3341 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -83,22 +83,23 @@ /obj/structure/janitorialcart/attack_hand(mob/user) - user.set_machine(src) - var/dat - if(mybag) - dat += "[mybag.name]
" - if(mymop) - dat += "[mymop.name]
" - if(myspray) - dat += "[myspray.name]
" - if(myreplacer) - dat += "[myreplacer.name]
" - if(signs) - dat += "[signs] sign\s
" - var/datum/browser/popup = new(user, "janicart", name, 240, 160) - popup.set_content(dat) - popup.open() + ui_interact(user) + return +/obj/structure/janitorialcart/ui_interact(var/mob/user, var/ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + var/data[0] + data["name"] = capitalize(name) + data["bag"] = mybag ? capitalize(mybag.name) : null + data["mop"] = mymop ? capitalize(mymop.name) : null + data["spray"] = myspray ? capitalize(myspray.name) : null + data["replacer"] = myreplacer ? capitalize(myreplacer.name) : null + data["signs"] = signs ? "[signs] sign\s" : null + + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) + if(!ui) + ui = new(user, src, ui_key, "janitorcart.tmpl", "Janitorial cart", 240, 160) + ui.set_initial_data(data) + ui.open() /obj/structure/janitorialcart/Topic(href, href_list) if(!in_range(src, usr)) @@ -106,36 +107,39 @@ if(!isliving(usr)) return var/mob/living/user = usr - if(href_list["garbage"]) - if(mybag) - user.put_in_hands(mybag) - user << "You take [mybag] from [src]." - mybag = null - if(href_list["mop"]) - if(mymop) - user.put_in_hands(mymop) - user << "You take [mymop] from [src]." - mymop = null - if(href_list["spray"]) - if(myspray) - user.put_in_hands(myspray) - user << "You take [myspray] from [src]." - myspray = null - if(href_list["replacer"]) - if(myreplacer) - user.put_in_hands(myreplacer) - user << "You take [myreplacer] from [src]." - myreplacer = null - if(href_list["sign"]) - if(signs) - var/obj/item/weapon/caution/Sign = locate() in src - if(Sign) - user.put_in_hands(Sign) - user << "You take \a [Sign] from [src]." - signs-- - else - warning("[src] signs ([signs]) didn't match contents") - signs = 0 + + if(href_list["take"]) + switch(href_list["take"]) + if("garbage") + if(mybag) + user.put_in_hands(mybag) + user << "You take [mybag] from [src]." + mybag = null + if("mop") + if(mymop) + user.put_in_hands(mymop) + user << "You take [mymop] from [src]." + mymop = null + if("spray") + if(myspray) + user.put_in_hands(myspray) + user << "You take [myspray] from [src]." + myspray = null + if("replacer") + if(myreplacer) + user.put_in_hands(myreplacer) + user << "You take [myreplacer] from [src]." + myreplacer = null + if("sign") + if(signs) + var/obj/item/weapon/caution/Sign = locate() in src + if(Sign) + user.put_in_hands(Sign) + user << "You take \a [Sign] from [src]." + signs-- + else + warning("[src] signs ([signs]) didn't match contents") + signs = 0 update_icon() updateUsrDialog() diff --git a/nano/templates/janitorcart.tmpl b/nano/templates/janitorcart.tmpl new file mode 100644 index 0000000000..916b92bc72 --- /dev/null +++ b/nano/templates/janitorcart.tmpl @@ -0,0 +1,30 @@ +
+
+ {{:data.name}} +
+ {{if data.bag}} +
+ {{:helper.link(data.bag, '', { 'take' : 'garbage' })}} +
+ {{/if}} + {{if data.mop}} +
+ {{:helper.link(data.mop, '', { 'take' : 'mop' })}} +
+ {{/if}} + {{if data.spray}} +
+ {{:helper.link(data.spray, '', { 'take' : 'spray' })}} +
+ {{/if}} + {{if data.replacer}} +
+ {{:helper.link(data.replacer, '', { 'take' : 'replacer' })}} +
+ {{/if}} + {{if data.signs}} +
+ {{:helper.link(data.signs, '', { 'take' : 'sign' })}} +
+ {{/if}} +
\ No newline at end of file