TestPlace.rbxl (89.1 KB)SettingsUILib.rbxm (33.4 KB)
Last Verison:
Example Code:
local IOX = require(game:GetService("ReplicatedStorage"):WaitForChild("IOX"))
local Canvas = IOX.createCanvas(script.Parent)
local ExTitle = Canvas:Title("Settings","") -- Create Label
ExTitle:SetLayoutOrder(10) -- Set Label LayoutOrder
ExTitle:SetText("Settings","test") -- Change Label Text
-- * No Need to Set LayoutOrder One by One System Automatically Adjusts According to Typing Order
local ExToggle = Canvas:Toggle("Test Toggle","Test",true) -- Create Toggle
--ExToggle:SetLayoutOrder(9) -- Set Toggle LayoutOrder
ExToggle:SetText("Test","Toggle") -- Change Toggle Text
ExToggle:DisconnectAll() -- Disconnects All Connections
ExToggle:GetStatus() -- Receives status (true or false)
ExToggle:SetValue(false) -- Change status (true or false)
local ConnectionId = ExToggle:Connect(function(status:boolean) -- Provides Connectivity
print(status)
end)
ExToggle:Fire() -- Launch Connections.
ExToggle:Disconnect(ConnectionId) -- Disconnect Connection
-- * No Need to Set LayoutOrder One by One System Automatically Adjusts According to Typing Order
local ExSwitch = Canvas:Switch("Test Switch","Test",true) -- Create Switch
--ExSwitch:SetLayoutOrder(9) -- Set Switch LayoutOrder
ExSwitch:SetText("Test","Switch") -- Change Switch Text
ExSwitch:DisconnectAll() -- Disconnects All Connections
ExSwitch:GetStatus() -- Receives status (true or false)
ExSwitch:SetValue(false) -- Change status (true or false)
local ConnectionId1 = ExSwitch:Connect(function(status:boolean) -- Provides Connectivity
print(status)
end)
ExSwitch:Fire() -- Launch Connections.
ExSwitch:Disconnect(ConnectionId1) -- Disconnect Connection
-- * No Need to Set LayoutOrder One by One System Automatically Adjusts According to Typing Order
local ExSlider = Canvas:Slide("Test Slider","",0,10,5,1) -- Create Slide
-----------------------------------------------^--^-^-^
-----------------------------------------------^--^-^-^
-----------------------------------------------^--^-^-Snap
-----------------------------------------------^--^-^--
-----------------------------------------------^--^-Start Value
-----------------------------------------------^--^----
-----------------------------------------------^--Max Value
-----------------------------------------------^-------
-----------------------------------------------Min Value
--ExSlider:SetLayoutOrder(9) -- Set Switch LayoutOrder
ExSlider:GetValue()-- Receives value ( number )
ExSlider:SetValue(1)-- Change value ( number )
local ConnectionId2 = ExSlider:Connect(function(value:number) -- Provides Connectivity
print(value)
end)
ExSlider:Fire() -- Launch Connections.
ExSlider:Disconnect(ConnectionId2) -- Disconnect Connection
-- Themes
local ThemeChanger = Canvas:Slide("Theme:","Dark",1,2,1,2)
ThemeChanger:SetLayoutOrder(-10)
local Themes = {
"Dark",
"Light",
}
ThemeChanger:Connect(function(value)
print(value)
if Themes[value] ~= nil then
Canvas:SetTheme(Themes[value]) -- Updates Theme
ThemeChanger:SetText(nil,Themes[value]) -- Updates Text
end
end)
ThemeChanger:Fire()