Skip to content

Latest commit

 

History

History
73 lines (67 loc) · 2.41 KB

README.md

File metadata and controls

73 lines (67 loc) · 2.41 KB

Roact Window Manager


Experimental simple window management library for Roact.

Component

local function Window()
        return Roact.createElement(RoactWM.ComponentAdapter, {
                render = function(history)
                        return Roact.createElement(RoactWM.Window, {
                                Id = "ExampleWindow",
                                OnOpen = function()
                                        print("My window has open!")
                                end,
                                OnClosed = function()
                                        print("My window has closed.")
                                end,
                                OnFocused = function()
                                        print("Focus gained")
                                end,
                                OnFocusReleased = function()
                                        print("Focus released")
                                end,
                                BorderSizePixel = 2,
                                Position = UDim2.fromOffset(50, 50),
                                Size = UDim2.fromOffset(500, 200),
                        }, {
                                Text = Roact.createElement("TextLabel", {
                                        BackgroundTransparency = 1,
                                        Size = UDim2.fromScale(1, 1),
                                        Text = ("History Size: %s"):format(history:size()),
                                        TextSize = 18,
                                })
                        })
                end,
        })
end

Controller

RoactWM.Adapter(function(history)
	InputService.InputBegan:Connect(function(input)
		if input.KeyCode == Enum.KeyCode.One then
			history:push("ExampleWindow")
		elseif input.KeyCode == Enum.KeyCode.Two then
			history:clear()
		end
	end)
end)

Demo

This demonstration's source code is available in Example.

RoactWM Demonstration

Installation

Source

git clone https://github.com/HylianBasement/roact-wm.git ./Vendor

roblox-ts

npm i @rbxts/roact-wm