Lua Functions
S2D_RunScript
Function | Description |
---|---|
S2D_RunScript(string) | Attemps to run the passed in lua script. It takes a string for the script path. Returns true if successful, false otherwise. There will also be a log of why the script failed. |
Example:
-- Run the script list table
if not S2D_RunScript("scipts/script_list.lua") then
S2D_error("Failed to run lua script")
end
S2D_LoadScriptTable
Function | Description |
---|---|
S2D_LoadScriptTable(sol::table) | This will attempt to run a lua table filled with the path of lua scripts to run. If running a script fails, it will log an error with the reason for failing. |
Example:
-- Script List Example
ScriptList =
{
"game/scripts/assetDefs.lua",
"game/scripts/utilities.lua",
"game/scripts/player.lua",
-- ... More scripts here
}
-- Run all the scripts in the table
S2D_LoadScriptTable(ScriptList)
S2D_MeasureText
Function | Description |
---|---|
S2D_MeasureText(string text, string font) | Takes in a string of text and the desired font and returns the width of the text as a float. |
Example:
-- Script List Example
local transform = entity:get_component(Transform)
local text = entity:get_component(TextComponent)
local textWidth = S2D_MeasureText(text.textStr, text.fontName)
-- Center the entity to the window width
transform.position = (S2D_WindowWidth() * 0.5) - (textWidth * 0.5)
Logging Functions
These logging functions use the common placeholder and formatting options:
Placeholder | Description |
---|---|
%s | Placeholder for a string. |
%c | Placeholder for a character. |
%d | Placeholder for an integer number. |
%f | Placeholder for a float number. |
%.nf | Designates the number of decimal places. Where 'n' is the number of points. |
%x | Placeholder for a hexidecimal number. |
S2D_log
Function | Description |
---|---|
S2D_log(string, ...) | The string to be formatted in the log followed by the variadic arguments. |
Example:
-- Logging Example
S2D_log("My name is %s. I am %d years old", "Scion", 2)
S2D_warn
Function | Description |
---|---|
S2D_warn(string, ...) | The string to be formatted in the log followed by the variadic arguments. |
Example:
-- Warning Example
Names =
{
"Jack", "Jill", "Steve"
}
local nameToFind = "Scion"
local bFound = false
for _, v in pairs(Names) do
if v == nameToFind then
bFound = true
break
end
end
if not bFound then
S2D_warn("This name [%s] could not be found.", nameToFind)
else
S2D_log("This name [%s] was found successfully.", nameToFind)
end
S2D_error
Function | Description |
---|---|
S2D_error(string, ...) | The string to be formatted in the log followed by the variadic arguments. |
Example:
Assets =
{
Textures =
{
{ name = "hero", path = "./assets/textures/hero.png", bPixelArt = true },
-- ... More Textures
},
Sounds =
{
-- Add sounds
}
}
-- Error Example
for k, v in pairs(Assets.Textures) do
if AssetManager.add_texture(v.name, v.path, v.bPixelArt ) then
S2D_log("Added texture [%s] successfully", v.name)
else
S2D_error("Failed to add texture [%s] at path [%s].", v.name, v.path)
end
end
Physics Functions
S2D_EnablePhysics
Function | Description |
---|---|
S2D_EnablePhysics() | Enables Box2D Physics. |
Example:
-- Enable Box2D Physics
S2D_EnablePhysics()
S2D_DisablePhysics
Function | Description |
---|---|
S2D_DisablePhysics() | Disables Box2D Physics. |
Example:
-- Disable Box2D Physics
S2D_DisablePhysics()
S2D_IsPhysicsEnabled
Function | Description |
---|---|
S2D_IsPhysicsEnabled() | Check to see if Box2D physics is enabled. Returns true if enabled, false otherwise. |
Example:
-- Enable Box2D Physics
S2D_DisablePhysics()
Render Collider Functions
S2D_EnableCollisionRendering
Function | Description |
---|---|
S2D_EnableCollisionRendering() | Enables the rendering off all colliders. Colliders are usually hidden in game. Enabling is usually for debugging purposes. |
Example:
-- Show Box/Circle Colliders
S2D_EnableCollisionRendering()
S2D_DisableCollisionRendering
Function | Description |
---|---|
S2D_DisableCollisionRendering() | Disable the rendering off all colliders. Colliders are usually hidden in game. |
Example:
-- Hide Box/Circle Colliders
S2D_DisableCollisionRendering()
S2D_CollisionRenderingEnabled
Function | Description |
---|---|
S2D_CollisionRenderingEnabled() | Checks to see if collision rendering is enabled. |
Example:
-- Check to see if Collision rendering is enabled
if S2D_CollisionRenderingEnabled then
S2D_DisableCollisionRendering()
end