onDraw
This event works similarly to onUpdate, except that it is used for drawing custom ImGui UI. It gets triggered on every frame that the game runs, thus is framerate dependent.
Use this event with caution, as it is triggered continuously once the game is launched.
Trying to draw ImGui UI outside this callback is prohibited
Usage Example
Render an ImGui window at anytime:
registerForEvent('onDraw', function()
if ImGui.Begin('Window Title', ImGuiWindowFlags.AlwaysAutoResize) then
ImGui.Text('Hello World!')
end
ImGui.End()
end)
Advanced Example
Render an ImGui window when the player is sprinting:
-- set initial switch
isSprinting = false
-- onInit
registerForEvent('onInit', function()
-- observe Sprint OnEnter state
Observe('SprintEvents', 'OnEnter', function(stateContext, scriptInterface)
isSprinting = true
end)
-- observe Sprint OnExit state
Observe('SprintEvents', 'OnExit', function(stateContext, scriptInterface)
isSprinting = false -- reset switch
end)
end)
-- onDraw
registerForEvent('onDraw', function()
-- bail early if not sprinting
if not isSprinting then
return
end
-- draw window
if ImGui.Begin('Notification', ImGuiWindowFlags.AlwaysAutoResize) then
ImGui.Text('Nice sprint!')
end
ImGui.End()
end)
Last updated