{{:value.name}}: |
-
- {{:helper.link('Craft', 'gears', {'make': value.ref})}}
- |
-
{{:value.name}}: |
-
- {{:helper.link('Craft', 'gears', {'make': value.ref}, 'disabled')}}
- |
-
diff --git a/code/modules/crafting/craft.dm b/code/modules/crafting/craft.dm index aae3b84a3c5..1a994123cee 100644 --- a/code/modules/crafting/craft.dm +++ b/code/modules/crafting/craft.dm @@ -297,25 +297,27 @@ Deletion.Cut(Deletion.len) qdel(DL) -/datum/personal_crafting/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1, datum/topic_state/state = GLOB.not_incapacitated_turf_state) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, force_open) +/datum/personal_crafting/tgui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/tgui_state/state = GLOB.tgui_not_incapacitated_turf_state) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) - ui = new(user, src, ui_key, "personal_crafting.tmpl", "Crafting Menu", 700, 800, state = state) + ui = new(user, src, ui_key, "PersonalCrafting", "Crafting Menu", 700, 800, master_ui, state) ui.open() /datum/personal_crafting/proc/close(mob/user) - var/datum/nanoui/ui = SSnanoui.get_open_ui(user, src, "main") + var/datum/nanoui/ui = SStgui.get_open_ui(user, src, "main") if(ui) ui.close() -/datum/personal_crafting/ui_data(mob/user) +/datum/personal_crafting/tgui_data(mob/user) var/list/data = list() var/list/subs = list() var/cur_subcategory = CAT_NONE + var/cur_category = categories[viewing_category] if(islist(subcategories[viewing_category])) subs = subcategories[viewing_category] cur_subcategory = subs[viewing_subcategory] + data["busy"] = busy data["prev_cat"] = categories[prev_cat()] data["prev_subcat"] = subs[prev_subcat()] @@ -329,6 +331,7 @@ var/list/surroundings = get_surroundings(user) var/list/can_craft = list() var/list/cant_craft = list() + for(var/rec in GLOB.crafting_recipes) var/datum/crafting_recipe/R = rec @@ -341,49 +344,52 @@ can_craft += list(build_recipe_data(R)) else cant_craft += list(build_recipe_data(R)) + data["can_craft"] = can_craft data["cant_craft"] = cant_craft return data -/datum/personal_crafting/Topic(href, href_list) +/datum/personal_crafting/tgui_act(action, list/params) if(..()) return - if(href_list["make"]) - var/datum/crafting_recipe/TR = locate(href_list["make"]) in GLOB.crafting_recipes - busy = TRUE - SSnanoui.update_uis(src) - var/fail_msg = construct_item(usr, TR) - if(!fail_msg) - to_chat(usr, "[TR.name] constructed.") - if(TR.alert_admins_on_craft) - message_admins("[key_name_admin(usr)] has created a [TR.name] at [ADMIN_COORDJMP(usr)]") - else - to_chat(usr, "Construction failed[fail_msg]") - busy = FALSE - SSnanoui.update_uis(src) - if(href_list["forwardCat"]) - viewing_category = next_cat(FALSE) - . = TRUE - if(href_list["backwardCat"]) - viewing_category = prev_cat(FALSE) - . = TRUE - if(href_list["forwardSubCat"]) - viewing_subcategory = next_subcat() - . = TRUE - if(href_list["backwardSubCat"]) - viewing_subcategory = prev_subcat() - . = TRUE - if(href_list["toggle_recipes"]) - display_craftable_only = !display_craftable_only - . = TRUE - if(href_list["toggle_compact"]) - display_compact = !display_compact - . = TRUE + . = TRUE - SSnanoui.update_uis(src) + switch(action) + if("make") + var/datum/crafting_recipe/TR = locate(params["make"]) in GLOB.crafting_recipes + if(!istype(TR)) + return + busy = TRUE + SStgui.update_uis(src) + var/fail_msg = construct_item(usr, TR) + if(!fail_msg) + to_chat(usr, "[TR.name] constructed.") + if(TR.alert_admins_on_craft) + message_admins("[key_name_admin(usr)] has created a [TR.name] at [ADMIN_COORDJMP(usr)]") + else + to_chat(usr, "Construction failed[fail_msg]") + busy = FALSE + SStgui.update_uis(src) + + if("forwardCat") + viewing_category = next_cat(FALSE) + + if("backwardCat") + viewing_category = prev_cat(FALSE) + + if("forwardSubCat") + viewing_subcategory = next_subcat() + + if("backwardSubCat") + viewing_subcategory = prev_subcat() + + if("toggle_recipes") + display_craftable_only = !display_craftable_only + + if("toggle_compact") + display_compact = !display_compact -//Next works nicely with modular arithmetic //Next works nicely with modular arithmetic /datum/personal_crafting/proc/next_cat(readonly = TRUE) if (!readonly) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index fb4db882578..62fc21ff968 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -41,7 +41,7 @@ GLOB.human_list += src /mob/living/carbon/human/OpenCraftingMenu() - handcrafting.ui_interact(src) + handcrafting.tgui_interact(src) /mob/living/carbon/human/prepare_data_huds() //Update med hud images... diff --git a/nano/templates/personal_crafting.tmpl b/nano/templates/personal_crafting.tmpl deleted file mode 100644 index 3158d7c3906..00000000000 --- a/nano/templates/personal_crafting.tmpl +++ /dev/null @@ -1,116 +0,0 @@ - - - -
{{:value.name}}: |
-
- {{:helper.link('Craft', 'gears', {'make': value.ref})}}
- |
-
{{:value.name}}: |
-
- {{:helper.link('Craft', 'gears', {'make': value.ref}, 'disabled')}}
- |
-