mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-26 13:37:58 +01:00
32 lines
15 KiB
HTML
32 lines
15 KiB
HTML
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><base href="../"><link rel="stylesheet" href="dmdoc.css"><title>/datum/tgui - Space Station 13</title></head><body><header><a href="index.html">Space Station 13</a> - <a href="index.html#modules">Modules</a> - <a href="index.html#types">Types</a> — <a href="datum/tgui.html#var">Var Details</a> - <a href="datum/tgui.html#proc">Proc Details</a></header><main><h1>tgui <aside>/<a href="datum.html">datum</a>/<a href="datum/tgui.html">tgui</a></aside> <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L9"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 9"></a></h1><p>Copyright (c) 2020 Aleksej Komarov
|
||
SPDX-License-Identifier: MIT</p>
|
||
<p>tgui datum (represents a UI).</p><table class="summary" cellspacing="0"><tr><td colspan="2"><h2>Vars</h2></td></tr><tr><th><a href="datum/tgui.html#var/asset_data">asset_data</a></th><td>Asset data to be sent with every update</td></tr><tr><th><a href="datum/tgui.html#var/autoupdate">autoupdate</a></th><td>Update the UI every MC tick.</td></tr><tr><th><a href="datum/tgui.html#var/closing">closing</a></th><td>Stops further updates when close() was called.</td></tr><tr><th><a href="datum/tgui.html#var/initialized">initialized</a></th><td>If the UI has been initialized yet.</td></tr><tr><th><a href="datum/tgui.html#var/interface">interface</a></th><td>The interface (template) to be used for this UI.</td></tr><tr><th><a href="datum/tgui.html#var/opened_at">opened_at</a></th><td>Time of opening the window.</td></tr><tr><th><a href="datum/tgui.html#var/refresh_cooldown">refresh_cooldown</a></th><td>Rate limit client refreshes to prevent DoS.</td></tr><tr><th><a href="datum/tgui.html#var/refreshing">refreshing</a></th><td>Timed refreshing state</td></tr><tr><th><a href="datum/tgui.html#var/src_object">src_object</a></th><td>The object which owns the UI.</td></tr><tr><th><a href="datum/tgui.html#var/state">state</a></th><td>Topic state used to determine status/interactability.</td></tr><tr><th><a href="datum/tgui.html#var/status">status</a></th><td>The status/visibility of the UI.</td></tr><tr><th><a href="datum/tgui.html#var/title">title</a></th><td>The title of te UI.</td></tr><tr><th><a href="datum/tgui.html#var/user">user</a></th><td>The mob who opened/is using the UI.</td></tr><tr><th><a href="datum/tgui.html#var/window">window</a></th><td>The window_id for browse() and onclose().</td></tr><tr><th><a href="datum/tgui.html#var/window_key">window_key</a></th><td>Key that is used for remembering the window geometry.</td></tr><tr><th><a href="datum/tgui.html#var/window_size">window_size</a></th><td>Deprecated: Window size.</td></tr><tr><td colspan="2"><h2>Procs</h2></td></tr><tr><th><a href="datum/tgui.html#proc/New">New</a></th><td>public</td></tr><tr><th><a href="datum/tgui.html#proc/close">close</a></th><td>public</td></tr><tr><th><a href="datum/tgui.html#proc/get_payload">get_payload</a></th><td>private</td></tr><tr><th><a href="datum/tgui.html#proc/on_message">on_message</a></th><td>private</td></tr><tr><th><a href="datum/tgui.html#proc/open">open</a></th><td>public</td></tr><tr><th><a href="datum/tgui.html#proc/process">process</a></th><td>private</td></tr><tr><th><a href="datum/tgui.html#proc/process_status">process_status</a></th><td>private</td></tr><tr><th><a href="datum/tgui.html#proc/send_asset">send_asset</a></th><td>public</td></tr><tr><th><a href="datum/tgui.html#proc/send_full_update">send_full_update</a></th><td>public</td></tr><tr><th><a href="datum/tgui.html#proc/send_update">send_update</a></th><td>public</td></tr><tr><th><a href="datum/tgui.html#proc/set_autoupdate">set_autoupdate</a></th><td>public</td></tr><tr><th><a href="datum/tgui.html#proc/set_state">set_state</a></th><td>public</td></tr></table><h2 id="var">Var Details</h2><h3 id="var/asset_data"><aside class="declaration">var </aside>asset_data <aside>– /list</aside> <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L39"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 39"></a></h3><p>Asset data to be sent with every update</p><h3 id="var/autoupdate"><aside class="declaration">var </aside>autoupdate <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L25"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 25"></a></h3><p>Update the UI every MC tick.</p><h3 id="var/closing"><aside class="declaration">var </aside>closing <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L31"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 31"></a></h3><p>Stops further updates when close() was called.</p><h3 id="var/initialized"><aside class="declaration">var </aside>initialized <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L27"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 27"></a></h3><p>If the UI has been initialized yet.</p><h3 id="var/interface"><aside class="declaration">var </aside>interface <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L23"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 23"></a></h3><p>The interface (template) to be used for this UI.</p><h3 id="var/opened_at"><aside class="declaration">var </aside>opened_at <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L29"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 29"></a></h3><p>Time of opening the window.</p><h3 id="var/refresh_cooldown"><aside class="declaration">var </aside>refresh_cooldown <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L41"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 41"></a></h3><p>Rate limit client refreshes to prevent DoS.</p><h3 id="var/refreshing"><aside class="declaration">var </aside>refreshing <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L35"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 35"></a></h3><p>Timed refreshing state</p><h3 id="var/src_object"><aside class="declaration">var </aside>src_object <aside>– /<a href="datum.html">datum</a></aside> <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L13"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 13"></a></h3><p>The object which owns the UI.</p><h3 id="var/state"><aside class="declaration">var </aside>state <aside>– /<a href="datum.html">datum</a>/<a href="datum/ui_state.html">ui_state</a></aside> <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L37"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 37"></a></h3><p>Topic state used to determine status/interactability.</p><h3 id="var/status"><aside class="declaration">var </aside>status <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L33"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 33"></a></h3><p>The status/visibility of the UI.</p><h3 id="var/title"><aside class="declaration">var </aside>title <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L15"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 15"></a></h3><p>The title of te UI.</p><h3 id="var/user"><aside class="declaration">var </aside>user <aside>– /<a href="mob.html">mob</a></aside> <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L11"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 11"></a></h3><p>The mob who opened/is using the UI.</p><h3 id="var/window"><aside class="declaration">var </aside>window <aside>– /<a href="datum.html">datum</a>/<a href="datum/tgui_window.html">tgui_window</a></aside> <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L17"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 17"></a></h3><p>The window_id for browse() and onclose().</p><h3 id="var/window_key"><aside class="declaration">var </aside>window_key <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L19"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 19"></a></h3><p>Key that is used for remembering the window geometry.</p><h3 id="var/window_size"><aside class="declaration">var </aside>window_size <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L21"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 21"></a></h3><p>Deprecated: Window size.</p><h2 id="proc">Proc Details</h2><h3 id="proc/New">New<aside>(/<a href="mob.html">mob</a>/user, /<a href="datum.html">datum</a>/src_object, interface, title, ui_x, ui_y) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L57"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 57"></a></aside></h3><p>public</p>
|
||
<p>Create a new UI.</p>
|
||
<p>required user mob The mob who opened/is using the UI.
|
||
required src_object datum The object or datum which owns the UI.
|
||
required interface string The interface used to render the UI.
|
||
optional title string The title of the UI.
|
||
optional ui_x int Deprecated: Window width.
|
||
optional ui_y int Deprecated: Window height.</p>
|
||
<p>return datum/tgui The requested UI.</p><h3 id="proc/close"><aside class="declaration">proc </aside>close<aside>(can_be_suspended) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L120"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 120"></a></aside></h3><p>public</p>
|
||
<p>Close the UI.</p>
|
||
<p>optional can_be_suspended bool</p><h3 id="proc/get_payload"><aside class="declaration">proc </aside>get_payload<aside>(custom_data, with_data, with_static_data) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L215"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 215"></a></aside></h3><p>private</p>
|
||
<p>Package the data to send to the UI, as JSON.</p>
|
||
<p>return list</p><h3 id="proc/on_message"><aside class="declaration">proc </aside>on_message<aside>(type, /list/payload, /list/href_list) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L300"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 300"></a></aside></h3><p>private</p>
|
||
<p>Callback for handling incoming tgui messages.</p><h3 id="proc/open"><aside class="declaration">proc </aside>open<aside>() <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L75"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 75"></a></aside></h3><p>public</p>
|
||
<p>Open this UI (and initialize it with data).</p><h3 id="proc/process">process<aside>(force) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L256"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 256"></a></aside></h3><p>private</p>
|
||
<p>Run an update cycle for this UI. Called internally by SStgui
|
||
every second or so.</p><h3 id="proc/process_status"><aside class="declaration">proc </aside>process_status<aside>() <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L290"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 290"></a></aside></h3><p>private</p>
|
||
<p>Updates the status, and returns TRUE if status has changed.</p><h3 id="proc/send_asset"><aside class="declaration">proc </aside>send_asset<aside>(/<a href="datum.html">datum</a>/<a href="datum/asset.html">asset</a>/asset) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L164"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 164"></a></aside></h3><p>public</p>
|
||
<p>Makes an asset available to use in tgui.</p>
|
||
<p>required asset datum/asset</p><h3 id="proc/send_full_update"><aside class="declaration">proc </aside>send_full_update<aside>(custom_data, force) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L177"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 177"></a></aside></h3><p>public</p>
|
||
<p>Send a full update to the client (includes static data).</p>
|
||
<p>optional custom_data list Custom data to send instead of ui_data.
|
||
optional force bool Send an update even if UI is not interactive.</p><h3 id="proc/send_update"><aside class="declaration">proc </aside>send_update<aside>(custom_data, force) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L200"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 200"></a></aside></h3><p>public</p>
|
||
<p>Send a partial update to the client (excludes static data).</p>
|
||
<p>optional custom_data list Custom data to send instead of ui_data.
|
||
optional force bool Send an update even if UI is not interactive.</p><h3 id="proc/set_autoupdate"><aside class="declaration">proc </aside>set_autoupdate<aside>(autoupdate) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L144"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 144"></a></aside></h3><p>public</p>
|
||
<p>Enable/disable auto-updating of the UI.</p>
|
||
<p>required value bool Enable/disable auto-updating.</p><h3 id="proc/set_state"><aside class="declaration">proc </aside>set_state<aside>(/<a href="datum.html">datum</a>/<a href="datum/ui_state.html">ui_state</a>/state) <a href="https://github.com/ParadiseSS13/Paradise/blob/8a8a00a2a9bec485351e5f219982b7315d3504fa/code/modules/tgui/tgui_datum.dm#L154"><img src="git.png" width="16" height="16" title="code/modules/tgui/tgui_datum.dm 154"></a></aside></h3><p>public</p>
|
||
<p>Replace current ui.state with a new one.</p>
|
||
<p>required state datum/ui_state/state Next state</p></main><footer>paradise.dme <a href="https://github.com/ParadiseSS13/Paradise/tree/8a8a00a2a9bec485351e5f219982b7315d3504fa">8a8a00a</a> (master) — <a href="https://github.com/SpaceManiac/SpacemanDMM/blob/master/crates/dmdoc/README.md">dmdoc 1.11.0</a></footer></body></html> |