Delaying The Execution Of A Method Until A Condition Is Met

I have a switch statement that will change the text of a UI text object depending on the value of a integer or string. As this is an attempt at a dialogue system, I’d like to be able to display some text to the user and then wait for them to press a button before displaying the next, preferably without using coroutines.

I would create a dialogue class, with the text and references to what the next one will be depending on which choice the user has. then have a manager with a hold of the first one, which also has a reference too the dialogue UI and which receives the clicks of the button. it then can initialize the UI with a simple call to set up the text, which buttons to show etc. on a click response it just passes that to the class which returns the next dialogue, which can be set.