4.0 KiB
4.0 KiB
Basalt
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:
Usage
local basalt = require("basalt")
What this code does is it loads basalt into the project, and you can access it by using the variable defined as "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 | table | Creates a new UI element |
| basalt.createFrame | table | Creates a new BaseFrame |
| basalt.getAPI | table | Returns a Plugin API |
| basalt.getElementClass | table | Returns an element class |
| basalt.getElementManager | table | Returns the element manager |
| basalt.getMainFrame | BaseFrame | Gets or creates the main frame |
| basalt.removeSchedule | boolean | Removes a scheduled update |
| basalt.run | - | Starts the Basalt runtime |
| basalt.schedule | thread | Schedules a function to run in a coroutine |
| basalt.setActiveFrame | - | Sets the active frame |
| basalt.stop | - | Stops the Basalt runtime |
| basalt.update | - | Runs basalt once |
basalt.create(type, properties?)
Creates and returns a new UI element of the specified type.
Parameters
typestringThe type of element to create (e.g. "Button", "Label", "BaseFrame")properties(optional)string|tableOptional name for the element or a table with properties to initialize the element with
Returns
tableelementThe created element instance
Usage
local button = basalt.create("Button")
basalt.createFrame()
Creates and returns a new BaseFrame
Returns
tableBaseFrameThe created frame instance
Usage
local mainFrame = basalt.createFrame()
basalt.getAPI(name)
Returns a Plugin API
Parameters
namestringThe name of the plugin
Returns
tablePluginThe plugin API
basalt.getElementClass(name)
Returns an element's class without creating a instance
Parameters
namestringThe name of the element
Returns
tableElementThe element class
basalt.getElementManager()
Returns the element manager instance
Returns
tableElementManagerThe element manager
Usage
local manager = basalt.getElementManager()
basalt.getMainFrame()
Gets or creates the main frame
Returns
BaseFrametableThe main frame instance
Usage
local frame = basalt.getMainFrame()
basalt.removeSchedule(func)
Removes a scheduled update
Parameters
functhreadThe scheduled function to remove
Returns
booleansuccessWhether the scheduled function was removed
Usage
basalt.removeSchedule(scheduleId)
basalt.run(isActive?)
Starts the Basalt runtime
Parameters
isActive(optional)booleanWhether to start active (default: true)
Usage
basalt.run()
basalt.run(false)
basalt.schedule(func)
Schedules a function to run in a coroutine
Parameters
funcfunctionThe function to schedule
Returns
threadfuncThe scheduled function
Usage
local id = basalt.scheduleUpdate(myFunction)
basalt.setActiveFrame(frame)
Sets the active frame
Parameters
frametableThe frame to set as active
Usage
basalt.setActiveFrame(myFrame)
basalt.stop()
Stops the Basalt runtime
Usage
basalt.stop()
basalt.update(...)
Runs basalt once
Parameters
...(vararg)anyThe event to run with
Usage
basalt.update()