mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-09 07:57:50 +00:00
* The TGS thing * Revert the 516 revert * Further segment the world/New() proc * Fixes an issue here
49 lines
1.8 KiB
Plaintext
49 lines
1.8 KiB
Plaintext
// This file contains all Nano procs/definitions for external classes/objects
|
|
|
|
/**
|
|
* Called when a Nano UI window is closed
|
|
* This is how Nano handles closed windows
|
|
* It must be a verb so that it can be called using winset
|
|
*
|
|
* @return nothing
|
|
*/
|
|
/client/verb/nanoclose(var/uiref as text)
|
|
set hidden = 1 // hide this verb from the user's panel
|
|
set name = "nanoclose"
|
|
|
|
var/datum/nanoui/ui = locate(uiref)
|
|
|
|
if (istype(ui))
|
|
ui.close()
|
|
|
|
if(ui.ref)
|
|
var/href = "close=1"
|
|
src.Topic(href, params2list(href), ui.ref) // this will direct to the atom's Topic() proc via client.Topic()
|
|
else if(ui.src_object)
|
|
var/href = "close=1"
|
|
src.Topic(href, params2list(href), ui.src_object) // this will direct to the atom's Topic() proc via client.Topic()
|
|
else if (ui.on_close_logic)
|
|
// no atomref specified (or not found)
|
|
// so just reset the user mob's machine var
|
|
if(src && src.mob)
|
|
src.mob.unset_machine()
|
|
|
|
/**
|
|
* The ui_interact proc is used to open and update Nano UIs
|
|
* If ui_interact is not used then the UI will not update correctly
|
|
* ui_interact is currently defined for /atom/movable
|
|
*
|
|
* @param user /mob The mob who is interacting with this ui
|
|
* @param ui_key string A string key to use for this ui. Allows for multiple unique uis on one obj/mob (defaut value "main")
|
|
* @param ui /datum/nanoui This parameter is passed by the nanoui process() proc when updating an open ui
|
|
* @param force_open boolean Force the UI to (re)open, even if it's already open
|
|
*
|
|
* @return nothing
|
|
*/
|
|
/datum/proc/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = NANOUI_FOCUS)
|
|
return
|
|
|
|
// Used by the Nano UI Manager (/datum/nanomanager) to track UIs opened by this mob
|
|
/client/var/list/nano_open_uis = list()
|
|
/mob/var/list/nano_open_uis = list()
|