我有此代码:
if (weapon == null) {
fightUnarmed(c);
} else if (weapon != null) {
showFightDialog();
resolveFight(c);
}
我想为用户提供选择使用武器进行战斗还是不使用武器进行战斗。当我运行此代码时,对话框甚至都没有显示,程序继续到下一行(resolveFight
方法,其中包括用于武装和近身搏斗的代码)并退出,并出现错误,因为战斗方式为没有选择。
当我注释掉resolveFight
方法时,将显示该对话框。
public void showFightDialog(){
Skin skin = new Skin(Gdx.files.internal("assets/Skins/uiskin.json"));
new Dialog("Fight!", skin){
{
text("Fight!");
button("weapon", "weapon");
button("h2h", "h2h");
}
@Override
protected void result(Object object){
if(object.equals("weapon")) {
fightWithWeapon = true;
}else if(object.equals("h2h")) {
fightH2H = true;
}
}
}.show(mainStage);
}
我想在对话框弹出时暂停程序,然后根据用户的选择执行代码。我该怎么办?