|
78 | 78 | machine.CONSOLE = src
|
79 | 79 | return
|
80 | 80 |
|
81 |
| -/obj/machinery/mineral/processing_unit_console/ui_interact(mob/user) |
| 81 | +//NSV13 - Furnace TGUI - Start |
| 82 | +/obj/machinery/mineral/processing_unit_console/ui_interact(mob/user, datum/tgui/ui) |
| 83 | + ui = SStgui.try_update_ui(user, src, ui) |
| 84 | + if(!ui) |
| 85 | + ui = new(user, src, "Smelter") |
| 86 | + ui.open() |
| 87 | + ui.set_autoupdate(TRUE) // Material amounts |
| 88 | + |
| 89 | +/obj/machinery/mineral/processing_unit_console/ui_data(mob/user) |
82 | 90 | . = ..()
|
| 91 | + var/list/data = list() |
83 | 92 | if(!machine)
|
84 | 93 | return
|
85 | 94 |
|
86 |
| - var/dat = machine.get_machine_data() |
| 95 | + data = machine.get_machine_data() |
| 96 | + return data |
87 | 97 |
|
88 |
| - var/datum/browser/popup = new(user, "processing", "Smelting Console", 300, 500) |
89 |
| - popup.set_content(dat) |
90 |
| - popup.open() |
91 |
| - |
92 |
| -/obj/machinery/mineral/processing_unit_console/Topic(href, href_list) |
| 98 | +/obj/machinery/mineral/processing_unit_console/ui_act(action, params) |
93 | 99 | if(..())
|
94 | 100 | return
|
95 |
| - usr.set_machine(src) |
96 |
| - add_fingerprint(usr) |
97 |
| - |
98 |
| - if(href_list["material"]) |
99 |
| - var/datum/material/new_material = locate(href_list["material"]) |
100 |
| - if(istype(new_material)) |
101 |
| - machine.selected_material = new_material |
102 |
| - machine.selected_alloy = null |
103 |
| - |
104 |
| - if(href_list["alloy"]) |
105 |
| - machine.selected_material = null |
106 |
| - machine.selected_alloy = href_list["alloy"] |
107 |
| - |
108 |
| - if(href_list["toggle_on"]) |
109 |
| - machine.toggle_on() |
110 |
| - |
111 |
| - if(href_list["redeem"]) |
112 |
| - var/mob/M = usr |
113 |
| - var/obj/item/card/id/I = M.get_idcard(TRUE) |
114 |
| - if(!I) |
115 |
| - to_chat(usr, "<span class='warning'>No ID detected.</span>") |
116 |
| - return |
117 |
| - if(!machine.points) |
118 |
| - to_chat(usr, "<span class='warning'>No points to claim.</span>") |
119 |
| - return |
120 |
| - I.mining_points += machine.points |
121 |
| - machine.points = 0 |
122 | 101 |
|
123 |
| - updateUsrDialog() |
124 |
| - return |
| 102 | + switch(action) |
| 103 | + if("Redeem") |
| 104 | + var/mob/M = usr |
| 105 | + var/obj/item/card/id/I = M.get_idcard(TRUE) |
| 106 | + if(!I) |
| 107 | + to_chat(usr, "<span class='warning'>No ID detected.</span>") |
| 108 | + return |
| 109 | + if(!machine.points) |
| 110 | + to_chat(usr, "<span class='warning'>No points to claim.</span>") |
| 111 | + return |
| 112 | + I.mining_points += machine.points |
| 113 | + machine.points = 0 |
| 114 | + |
| 115 | + if("Toggle_on") |
| 116 | + machine.toggle_on() |
| 117 | + |
| 118 | + if("Material") |
| 119 | + var/datum/material/new_material = locate(params["id"]) |
| 120 | + if(istype(new_material)) |
| 121 | + machine.selected_material = new_material |
| 122 | + machine.selected_alloy = null |
| 123 | + |
| 124 | + if("Alloy") |
| 125 | + machine.selected_material = null |
| 126 | + machine.selected_alloy = params["id"] |
| 127 | +//NSV13 - Furnace TGUI - Stop |
125 | 128 |
|
126 | 129 | /obj/machinery/mineral/processing_unit_console/Destroy()
|
127 | 130 | machine = null
|
|
173 | 176 | points += O.points * O.amount
|
174 | 177 | materials.insert_item(O)
|
175 | 178 | qdel(O)
|
| 179 | + /* NSV13 - Disabled due to our TGUI version |
176 | 180 | if(CONSOLE)
|
177 | 181 | CONSOLE.updateUsrDialog()
|
| 182 | + */ |
178 | 183 |
|
| 184 | +//NSV13 - Furnace TGUI - Start |
179 | 185 | /obj/machinery/mineral/processing_unit/proc/get_machine_data()
|
180 |
| - var/dat = "<b>Smelter control console</b><br><br>" |
181 |
| - |
182 |
| - //On or off - on the console so we don't fail can_interact when doing Topic |
183 |
| - dat += "Machine is currently <A href='?src=[REF(CONSOLE)];toggle_on=1'>[ on ? "On" : "Off"]</A>" |
184 |
| - dat += "<br><br>" |
| 186 | + var/list/data = list() |
| 187 | + data["on"] = on |
| 188 | + data["allowredeem"] = allow_point_redemption |
185 | 189 |
|
186 | 190 | //Points
|
187 | 191 | if(allow_point_redemption)
|
188 |
| - dat += "Stored points: [points] " |
189 |
| - dat += "<A href='?src=[REF(CONSOLE)];redeem=1'><b>Redeem</b></A> " |
190 |
| - dat += "<br><br>" |
| 192 | + data["points"] = points |
191 | 193 |
|
| 194 | + data["materials"] = list() |
192 | 195 | var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
|
193 | 196 | for(var/datum/material/M in materials.materials)
|
194 | 197 | var/amount = materials.materials[M]
|
195 |
| - dat += "<span class=\"res_name\">[M.name]: </span>[amount] cm³" |
196 |
| - if (selected_material == M) |
197 |
| - dat += " <i>Smelting</i>" |
198 |
| - else |
199 |
| - dat += " <A href='?src=[REF(CONSOLE)];material=[REF(M)]'><b>Not Smelting</b></A> " |
200 |
| - dat += "<br>" |
201 |
| - |
202 |
| - dat += "<br><br>" |
203 |
| - dat += "<b>Smelt Alloys</b><br>" |
| 198 | + var/sheet_amount = amount / MINERAL_MATERIAL_AMOUNT |
| 199 | + var/ref = REF(M) |
| 200 | + data["materials"] += list(list("name" = M.name, "id" = ref, "amount" = sheet_amount, "smelting" = (selected_material == M))) |
204 | 201 |
|
| 202 | + data["alloys"] = list() |
205 | 203 | for(var/v in stored_research.researched_designs)
|
206 | 204 | var/datum/design/D = SSresearch.techweb_design_by_id(v)
|
207 |
| - dat += "<span class=\"res_name\">[D.name] " |
208 |
| - if (selected_alloy == D.id) |
209 |
| - dat += " <i>Smelting</i>" |
210 |
| - else |
211 |
| - dat += " <A href='?src=[REF(CONSOLE)];alloy=[D.id]'><b>Not Smelting</b></A> " |
212 |
| - dat += "<br>" |
| 205 | + data["alloys"] += list(list("name" = D.name, "id" = D.id, "smelting" = (selected_alloy == D.id), "amount" = can_smelt(D))) |
213 | 206 |
|
214 |
| - dat += "<br><br>" |
215 |
| - |
216 |
| - return dat |
| 207 | + return data |
| 208 | +//NSV13 - Furnace TGUI - Stop |
217 | 209 |
|
218 | 210 | /obj/machinery/mineral/processing_unit/pickup_item(datum/source, atom/movable/target, atom/oldLoc)
|
219 | 211 | if(QDELETED(target))
|
|
234 | 226 | else if(selected_alloy)
|
235 | 227 | smelt_alloy(delta_time)
|
236 | 228 |
|
237 |
| - |
| 229 | + /* NSV13 - Disabled due to our TGUI version |
238 | 230 | if(CONSOLE)
|
239 | 231 | CONSOLE.updateUsrDialog()
|
| 232 | + */ |
240 | 233 | else
|
241 | 234 | end_processing()
|
242 | 235 |
|
|
0 commit comments