31 lines
1.3 KiB
Markdown
31 lines
1.3 KiB
Markdown
# API documentation for [`sfinv_buttons`]
|
||
|
||
Use this very simple API to add your own buttons to the new tab. There is only
|
||
one function: `sfinv_buttons.register_button`.
|
||
|
||
## `sfinv_buttons.register_button(name, def)`
|
||
|
||
* `name`: Unique button identifier
|
||
* `def`: Configuration table (see below)
|
||
|
||
### Fields of `def`
|
||
* `title`: Human-readable text on the button
|
||
* `action(player)`: Function is called when button is triggered
|
||
* `player`: The `ObjectRef` of the player who triggered the button
|
||
* Default behaviour: Nothing happens
|
||
* `tooltip`: A tooltip for the button (optional, only use it for an additional,
|
||
non-critical explanation)
|
||
* `image`: Texture name for the image to show left of the button (optional)
|
||
* `show(player)`: Shall return `true` if the button should be displayed (optional)
|
||
* `player`: ObjectRef to player who triggered the button
|
||
* Default: Always shows button
|
||
|
||
## Recommendations
|
||
|
||
* Try to summarize the most important information on the button
|
||
* Test if the button title still fits when having >= 9 and <= 18 buttons at a
|
||
resolution of 800×600
|
||
* It is recommended to only add buttons to access core mod functionality and
|
||
not for every minor feature. The rule of thumb is to add at most 1 button per mod
|
||
* If you like to add many buttons, consider adding your own `sfinv` page instead
|