add gs
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
--[[
|
||||
A simple component that allows you to bind to RenderStep
|
||||
|
||||
Props:
|
||||
name - the name of the bind
|
||||
priority - when during the render step to call the function
|
||||
callback - function that will be invoked on render step
|
||||
|
||||
Usage:
|
||||
|
||||
RenderCn = Roact.createElement(RenderStep, {
|
||||
name = "MyRenderStep",
|
||||
priority = Enum.RenderPriority.Input.Value,
|
||||
callback = function() print("stepping") end
|
||||
})
|
||||
]]
|
||||
local RunService = game:GetService("RunService")
|
||||
local Modules = game:GetService("CoreGui").RobloxGui.Modules
|
||||
|
||||
local Roact = require(Modules.Common.Roact)
|
||||
|
||||
local RenderStep = Roact.Component:extend("RenderStep")
|
||||
|
||||
function RenderStep:render()
|
||||
return nil
|
||||
end
|
||||
|
||||
function RenderStep:didMount()
|
||||
RunService:BindToRenderStep(self.props.name, self.props.priority, self.props.callback)
|
||||
end
|
||||
|
||||
function RenderStep:didUpdate(oldProps)
|
||||
if self.props.callback ~= oldProps.callback or self.props.name ~= oldProps.name then
|
||||
RunService:UnbindFromRenderStep(oldProps.name)
|
||||
RunService:BindToRenderStep(self.props.name, self.props.priority, self.props.callback)
|
||||
end
|
||||
end
|
||||
|
||||
function RenderStep:willUnmount()
|
||||
RunService:UnbindFromRenderStep(self.props.name)
|
||||
end
|
||||
|
||||
return RenderStep
|
||||
Reference in New Issue
Block a user