155 lines
3.6 KiB
Markdown
155 lines
3.6 KiB
Markdown
This is the UI Manager and the starting point for your project. The following functions allow you to influence the default behavior of Basalt.
|
|
|
|
Before you can access Basalt, you need to add the following code on top of your file:
|
|
What this code does is it loads basalt into the project, and you can access it by using the variable defined as "basalt".
|
|
# Basalt
|
|
|
|
## Fields
|
|
|
|
|Field|Type|Description|
|
|
|---|---|---|
|
|
|traceback|`boolean`|Whether to show a traceback on errors|
|
|
|_events|`table`|A table of events and their callbacks|
|
|
|_schedule|`function[]`|A table of scheduled functions|
|
|
|_plugins|`table`|A table of plugins|
|
|
|LOGGER|`Log`|The logger instance|
|
|
|path|`string`|The path to the Basalt library|
|
|
|
|
## Functions
|
|
|
|
|Method|Returns|Description|
|
|
|---|---|---|
|
|
|[basalt.create](#basalt.create)|table|Creates a new UI element
|
|
|[basalt.createFrame](#basalt.createFrame)|table|Creates a new BaseFrame
|
|
|[basalt.getAPI](#basalt.getAPI)|table|Returns a Plugin API
|
|
|[basalt.getElementManager](#basalt.getElementManager)|table|Returns the element manager
|
|
|[basalt.getMainFrame](#basalt.getMainFrame)|BaseFrame|Gets or creates the main frame
|
|
|[basalt.removeSchedule](#basalt.removeSchedule)|-|Removes a scheduled update
|
|
|[basalt.run](#basalt.run)|-|Starts the Basalt runtime
|
|
|[basalt.scheduleUpdate](#basalt.scheduleUpdate)|number|Schedules a function to be updated
|
|
|[basalt.setActiveFrame](#basalt.setActiveFrame)|-|Sets the active frame
|
|
|[basalt.stop](#basalt.stop)|-|Stops the Basalt runtime
|
|
|[basalt.update](#basalt.update)|-|Updates all scheduled functions
|
|
|
|
## basalt.create(type, properties?)
|
|
Creates and returns a new UI element of the specified type.
|
|
|
|
### Parameters
|
|
* `type` `string` The type of element to create (e.g. "Button", "Label", "BaseFrame")
|
|
* `properties` *(optional)* `string|table` Optional name for the element or a table with properties to initialize the element with
|
|
|
|
### Returns
|
|
* `table` `element` The created element instance
|
|
|
|
### Usage
|
|
```lua
|
|
local button = basalt.create("Button")
|
|
```
|
|
|
|
## basalt.createFrame()
|
|
Creates and returns a new BaseFrame
|
|
|
|
### Returns
|
|
* `table` `BaseFrame` The created frame instance
|
|
|
|
### Usage
|
|
```lua
|
|
local mainFrame = basalt.createFrame()
|
|
```
|
|
|
|
## basalt.getAPI(name)
|
|
Returns a Plugin API
|
|
|
|
### Parameters
|
|
* `name` `string` The name of the plugin
|
|
|
|
### Returns
|
|
* `table` `Plugin` The plugin API
|
|
|
|
## basalt.getElementManager()
|
|
Returns the element manager instance
|
|
|
|
### Returns
|
|
* `table` `ElementManager` The element manager
|
|
|
|
### Usage
|
|
```lua
|
|
local manager = basalt.getElementManager()
|
|
```
|
|
|
|
## basalt.getMainFrame()
|
|
Gets or creates the main frame
|
|
|
|
### Returns
|
|
* `BaseFrame` `table` The main frame instance
|
|
|
|
### Usage
|
|
```lua
|
|
local frame = basalt.getMainFrame()
|
|
```
|
|
|
|
## basalt.removeSchedule(id)
|
|
Removes a scheduled update
|
|
|
|
### Parameters
|
|
* `id` `number` The schedule ID to remove
|
|
|
|
### Usage
|
|
```lua
|
|
basalt.removeSchedule(scheduleId)
|
|
```
|
|
|
|
## basalt.run(isActive?)
|
|
Starts the Basalt runtime
|
|
|
|
### Parameters
|
|
* `isActive` *(optional)* `boolean` Whether to start active (default: true)
|
|
|
|
### Usage
|
|
```lua
|
|
basalt.run()
|
|
basalt.run(false)
|
|
```
|
|
|
|
## basalt.scheduleUpdate(func)
|
|
Schedules a function to be updated
|
|
|
|
### Parameters
|
|
* `func` `function` The function to schedule
|
|
|
|
### Returns
|
|
* `number` `Id` The schedule ID
|
|
|
|
### Usage
|
|
```lua
|
|
local id = basalt.scheduleUpdate(myFunction)
|
|
```
|
|
|
|
## basalt.setActiveFrame(frame)
|
|
Sets the active frame
|
|
|
|
### Parameters
|
|
* `frame` `table` The frame to set as active
|
|
|
|
### Usage
|
|
```lua
|
|
basalt.setActiveFrame(myFrame)
|
|
```
|
|
|
|
## basalt.stop()
|
|
Stops the Basalt runtime
|
|
|
|
### Usage
|
|
```lua
|
|
basalt.stop()
|
|
```
|
|
|
|
## basalt.update()
|
|
Updates all scheduled functions
|
|
|
|
### Usage
|
|
```lua
|
|
basalt.update()
|
|
```
|
|
|