A library to build renderscript in boards without writting it as a full string
The goal of that lib is to make RenderScript easier to write and read when written un control units and not directly in screens.
This project is currently in developpement and not finished yet.
I'm currently looking for feedbacks and ideas to improve it and fix some limitations like how to render a function or loop or condition in the render script.
Feel free to contact me on discord Jericho#1060 or on my guilded server : https://guilded.jericho.dev
Paste all the content of the library (prefer the minified version) at the start of your script in a control unit in game and then you can use it like this:
local script = setmetatable({},RenderScript)
local MyFirstLayer = script:createLayer()
script:addBox(MyFirstLayer,0,0,100,100)
if not script:isTooLong() then
script:sendToScreen(screen)
else
system.print("WARNING: Script too long!! Length is actualy " .. script:len() .. " / " .. script:getMaxSize())
end
Code was all formated as a string and was hard to read, write and debug
local script = [[
local MyFirstLayer = createLayer()
addBox(MyFirstLayer, 0, 0, 100, 100)
]]
screen.setRenderScript(script)
This library add some functions to the default render script:
use(libraryName)
: Use a third party library in the renderscript
libraryName
:string
The name of the library to use, it will also be used as the variable name to access it in the renderScript
useAtlas()
: Use the atlas library in the renderscript
useJSON()
: Use the JSON (dkjson) library in the renderscript
useRSLib()
: Use the RSLib library in the renderscript
getMaxSize()
: Get the maximum size of the render script
isTooLong()
: Check if the render script is too long
sendToScreen(screen)
: Send the render script to a screen
insertCodeLine(code)
: Insert a line of code in the render script