jstrout My hope was to do something like this:
isDone = 0
onGameStart = function()
Say("Hi!")
Say("This is a tutorial!")
Say("Click on this 3D in-world object", isDone)
Say("Great! You clicked on it!")
end function
onObjectClicked = function(args)
objId = args["objId"]
if objId == 3 then
isDone = 1
end if
end function
I had a couple goals here, where a script author can implement Say() statements that would async (or block as it is) run until done, that way it somewhat makes sense when authoring.
I suppose I can support two Say intrinsics, for blocking and non-blocking, that's something I've been mulling over.
Ultimately, I think the answer is still to execute the Say() intrinsics, returning done=true, and have the dialogue in maybe a separate list, perhaps using the event queue like you suggested.