/datum/tgui
tgui datum (represents a UI).
Vars | |
autoupdate | Update the UI every MC tick. |
---|---|
closing | Stops further updates when close() was called. |
initialized | If the UI has been initialized yet. |
interface | The interface (template) to be used for this UI. |
mouse_hooked | Are byond mouse events beyond the window passed in to the ui |
opened_at | Time of opening the window. |
refresh_cooldown | Rate limit client refreshes to prevent DoS. |
refreshing | Timed refreshing state |
src_object | The object which owns the UI. |
state | Topic state used to determine status/interactability. |
status | The status/visibility of the UI. |
title | The title of te UI. |
user | The mob who opened/is using the UI. |
window | The window_id for browse() and onclose(). |
window_key | Key that is used for remembering the window geometry. |
window_size | Deprecated: Window size. |
Procs | |
New | public |
close | public |
get_payload | private |
on_act_message | Wrapper for behavior to potentially wait until the next tick if the server is overloaded |
on_message | private |
open | public |
process | private |
process_status | private |
send_asset | public |
send_full_update | public |
send_update | public |
set_autoupdate | public |
set_mouse_hook | public |
set_state | public |
Var Details
autoupdate
Update the UI every MC tick.
closing
Stops further updates when close() was called.
initialized
If the UI has been initialized yet.
interface
The interface (template) to be used for this UI.
mouse_hooked
Are byond mouse events beyond the window passed in to the ui
opened_at
Time of opening the window.
refresh_cooldown
Rate limit client refreshes to prevent DoS.
refreshing
Timed refreshing state
src_object
The object which owns the UI.
state
Topic state used to determine status/interactability.
status
The status/visibility of the UI.
title
The title of te UI.
user
The mob who opened/is using the UI.
window
The window_id for browse() and onclose().
window_key
Key that is used for remembering the window geometry.
window_size
Deprecated: Window size.
Proc Details
New
public
Create a new UI.
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.
return datum/tgui The requested UI.
close
public
Close the UI.
optional can_be_suspended bool
get_payload
private
Package the data to send to the UI, as JSON.
return list
on_act_message
Wrapper for behavior to potentially wait until the next tick if the server is overloaded
on_message
private
Callback for handling incoming tgui messages.
open
public
Open this UI (and initialize it with data).
return bool - TRUE if a new pooled window is opened, FALSE in all other situations including if a new pooled window didn't open because one already exists.
process
private
Run an update cycle for this UI. Called internally by SStgui every second or so.
process_status
private
Updates the status, and returns TRUE if status has changed.
send_asset
public
Makes an asset available to use in tgui.
required asset datum/asset
return bool - true if an asset was actually sent
send_full_update
public
Send a full update to the client (includes static data).
optional custom_data list Custom data to send instead of ui_data. optional force bool Send an update even if UI is not interactive.
send_update
public
Send a partial update to the client (excludes static data).
optional custom_data list Custom data to send instead of ui_data. optional force bool Send an update even if UI is not interactive.
set_autoupdate
public
Enable/disable auto-updating of the UI.
required value bool Enable/disable auto-updating.
set_mouse_hook
public
Enable/disable passing through byond mouse events to the window
required value bool Enable/disable hooking.
set_state
public
Replace current ui.state with a new one.
required state datum/ui_state/state Next state