我有一个显示窗口的方法,然后返回单击按钮的值。我所做的是,当我单击按钮时,我更改了一个变量,然后返回变量。我需要的是暂停方法直到变量被更改。
我统一编程游戏,它使用单声道。
代码:
public virtual Buttons Execute(){
this.holder.SetActive(true); //Set the window active
// Here wait for the user to click a button
return clicked;//Returns the button clicked.
}
答案 0 :(得分:0)
处理用户界面的代码是事件驱动的,因此明智的做法是使用事件而不是像你尝试的那样使用方法。
可能创建一种以这种方式工作的方法,但您必须创建自己的消息泵,在您等待时运行:
public virtual Buttons Execute(){
this.holder.SetActive(true); // Set the window active
clicked = null; // Set the state as undetermined
while (clicked == null) { // Wait until it is set
Application.DoEvents(); // Process messages
Thread.Sleep(10); // Wait for a while
}
return clicked; // Returns the button clicked.
}
您可以在问题Use of Application.DoEvents()中阅读有关使用DoEvents
这种方式的陷阱的解释。