如何在自定义弹出对话框中保存响应
How to save the response in a custom made popup dialog
我正在尝试在 xna 中创建一个显示一些文本并将选项添加到 select yes
或 no
的自定义弹出窗口。根据按钮 selected,应该返回一个值。我几乎已设置好所有内容,但我不知道如何执行此特定部分。
首先,我有一个 PopupDialogHandler
class,它包含所有 Popup_Dialog
的列表并管理它们各自的 click
事件,还管理更新和绘图.
class Popup_Dialog
是管理创建新 popup
对象的 class。
一切都完成了,我画了矩形,画了文本,正在处理按钮,但我不知道我应该使用什么方法来进行简单而有效的结果管理。
类似于 winforms 的 MessageBox.Show
returns。
目前,我创建 Popup_Dialog
对象并将其添加到 PopupDialogHandler
class 中的列表,从那里我遍历列表中的所有项目并执行绘图和更新逻辑
您可以使用操作来做到这一点。在 PopupDialog class 中,将 private Action<int> Callback;
添加到属性并将此代码添加到构造函数:
public PopupDialog(Action<int> callback /*, rest of constructor parameters if any */)
{
/* Rest of constructor code, if any */
if (callback == null)
throw new ArgumentNullException();
Callback = callback;
}
在 Click 处理程序中,只需调用 Callback()
并将您想要 return 的值作为参数。
在receiving/waitingclass中,添加这段代码:
private void CallbackFunction(int theReturnedValue)
{
// do something with the value here
}
并在创建新弹出窗口时像这样传递函数:
var RC = new PopupDialog(CallbackFunction);
我正在尝试在 xna 中创建一个显示一些文本并将选项添加到 select yes
或 no
的自定义弹出窗口。根据按钮 selected,应该返回一个值。我几乎已设置好所有内容,但我不知道如何执行此特定部分。
首先,我有一个 PopupDialogHandler
class,它包含所有 Popup_Dialog
的列表并管理它们各自的 click
事件,还管理更新和绘图.
class Popup_Dialog
是管理创建新 popup
对象的 class。
一切都完成了,我画了矩形,画了文本,正在处理按钮,但我不知道我应该使用什么方法来进行简单而有效的结果管理。
类似于 winforms 的 MessageBox.Show
returns。
目前,我创建 Popup_Dialog
对象并将其添加到 PopupDialogHandler
class 中的列表,从那里我遍历列表中的所有项目并执行绘图和更新逻辑
您可以使用操作来做到这一点。在 PopupDialog class 中,将 private Action<int> Callback;
添加到属性并将此代码添加到构造函数:
public PopupDialog(Action<int> callback /*, rest of constructor parameters if any */)
{
/* Rest of constructor code, if any */
if (callback == null)
throw new ArgumentNullException();
Callback = callback;
}
在 Click 处理程序中,只需调用 Callback()
并将您想要 return 的值作为参数。
在receiving/waitingclass中,添加这段代码:
private void CallbackFunction(int theReturnedValue)
{
// do something with the value here
}
并在创建新弹出窗口时像这样传递函数:
var RC = new PopupDialog(CallbackFunction);