run the shellmap even while the lobby shows. remove Widget.SpecialOneArg

This commit is contained in:
Bob
2010-10-12 18:33:16 +13:00
parent 20276291ce
commit 7ca9fcdac9
7 changed files with 56 additions and 61 deletions

View File

@@ -20,11 +20,17 @@ namespace OpenRA.Widgets.Delegates
MapStub Map = null;
[ObjectCreator.UseCtor]
internal MapChooserDelegate( [ObjectCreator.Param( "widget" )] Widget bg, [ObjectCreator.Param] OrderManager orderManager )
internal MapChooserDelegate(
[ObjectCreator.Param( "widget" )] Widget bg,
[ObjectCreator.Param] OrderManager orderManager,
[ObjectCreator.Param] string mapName )
{
bg.SpecialOneArg = (map) => RefreshMapList(map);
var ml = bg.GetWidget<ListBoxWidget>("MAP_LIST");
if (mapName != null)
Map = Game.modData.AvailableMaps[mapName];
else
Map = Game.modData.AvailableMaps.FirstOrDefault(m => m.Value.Selectable).Value;
var ml = bg.GetWidget<ListBoxWidget>("MAP_LIST");
bg.GetWidget<MapPreviewWidget>("MAPCHOOSER_MAP_PREVIEW").Map = () => Map;
bg.GetWidget<LabelWidget>("CURMAP_TITLE").GetText = () => Map.Title;
bg.GetWidget<LabelWidget>("CURMAP_SIZE").GetText = () => "{0}x{1}".F(Map.Width, Map.Height);
@@ -67,15 +73,5 @@ namespace OpenRA.Widgets.Delegates
ml.ContentHeight += template.Bounds.Height;
}
}
public void RefreshMapList(object uidobj)
{
// Set the default selected map
var uid = uidobj as string;
if (uid != null)
Map = Game.modData.AvailableMaps[uid];
else
Map = Game.modData.AvailableMaps.FirstOrDefault(m => m.Value.Selectable).Value;
}
}
}