Allow non-hosts to open the map chooser

This commit is contained in:
Oliver Brakmann
2015-01-15 13:27:07 +01:00
parent c76fb51b14
commit 72c0f9b8dc
2 changed files with 16 additions and 4 deletions

View File

@@ -36,7 +36,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic
var approving = new Action(() => { Ui.CloseWindow(); onSelect(selectedUid); });
var canceling = new Action(() => { Ui.CloseWindow(); onExit(); });
widget.Get<ButtonWidget>("BUTTON_OK").OnClick = approving;
var okButton = widget.Get<ButtonWidget>("BUTTON_OK");
okButton.Disabled = this.onSelect == null;
okButton.OnClick = approving;
widget.Get<ButtonWidget>("BUTTON_CANCEL").OnClick = canceling;
scrollpanel = widget.Get<ScrollPanelWidget>("MAP_LIST");
@@ -128,8 +130,17 @@ namespace OpenRA.Mods.Common.Widgets.Logic
// Access the minimap to trigger async generation of the minimap.
preview.GetMinimap();
Action dblClick = () =>
{
if (onSelect != null)
{
Ui.CloseWindow();
onSelect(preview.Uid);
}
};
var item = ScrollItemWidget.Setup(preview.Uid, itemTemplate, () => selectedUid == preview.Uid,
() => selectedUid = preview.Uid, () => { Ui.CloseWindow(); onSelect(preview.Uid); });
() => selectedUid = preview.Uid, dblClick);
item.IsVisible = () => item.RenderBounds.IntersectsWith(scrollpanel.RenderBounds);
var titleLabel = item.Get<LabelWidget>("TITLE");