TGUI and asset cache sending improvements (#43090)

Pills are now two spreadsheets instead of individual icons.

This reduces assets sent by about 19-20.

Furthermore tgui has been extended with a new proc ui_base_html which
allows a user to customise the html sent as the base for a tgui window.
This allows someone to provide custom spritesheet css as links in a
specific tgui window without having to add it to the global html.
This commit is contained in:
oranges
2019-03-17 09:47:48 -07:00
committed by Tad Hardesty
parent 09f3a8f8d1
commit b526be704c
9 changed files with 67 additions and 27 deletions
+14
View File
@@ -49,6 +49,20 @@
if(!ui || ui.status != UI_INTERACTIVE)
return 1 // If UI is not interactive or usr calling Topic is not the UI user, bail.
/**
* public
*
* Called on an object when a tgui object is being created, allowing you to customise the html
* For example: inserting a custom stylesheet that you need in the head
*
* For this purpose, some tags are available in the html, to be parsed out with replacetext
* (customheadhtml) - Additions to the head tag
*
* required html the html base text
*
**/
/datum/proc/ui_base_html(html)
return html
/**
* private
+11 -3
View File
@@ -198,11 +198,19 @@
**/
/datum/tgui/proc/get_html(var/inline)
var/html
html = SStgui.basehtml
//Allow the src object to override the html if needed
html = src_object.ui_base_html(html)
//Strip out any remaining custom tags that are used in ui_base_html
html = replacetext(html, "<!--customheadhtml-->", "")
// Poplate HTML with JSON if we're supposed to inline.
if(inline)
html = replacetextEx(SStgui.basehtml, "{}", get_json(initial_data))
else
html = SStgui.basehtml
html = replacetextEx(html, "{}", get_json(initial_data))
//Setup for tgui stuff, including styles
html = replacetextEx(html, "\[ref]", "[REF(src)]")
html = replacetextEx(html, "\[style]", style)
return html