relax items type for DropDownButtonLogic.ShowDropDown

This commit is contained in:
Chris Forbes
2011-10-30 09:55:32 +13:00
parent eaa4d06052
commit 7a6f4d3b04
6 changed files with 10 additions and 10 deletions

View File

@@ -79,7 +79,7 @@ namespace OpenRA.Widgets
Widget.RootWidget.AddChild(panel); Widget.RootWidget.AddChild(panel);
} }
public void ShowDropDown<T>(string panelTemplate, int height, List<T> options, Func<T, ScrollItemWidget, ScrollItemWidget> setupItem) public void ShowDropDown<T>(string panelTemplate, int height, IEnumerable<T> options, Func<T, ScrollItemWidget, ScrollItemWidget> setupItem)
{ {
var substitutions = new Dictionary<string,int>() {{ "DROPDOWN_WIDTH", Bounds.Width }}; var substitutions = new Dictionary<string,int>() {{ "DROPDOWN_WIDTH", Bounds.Width }};
var panel = (ScrollPanelWidget)Widget.LoadWidget(panelTemplate, null, new WidgetArgs() var panel = (ScrollPanelWidget)Widget.LoadWidget(panelTemplate, null, new WidgetArgs()

View File

@@ -179,7 +179,7 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic
return item; return item;
}; };
dropdown.ShowDropDown("LABEL_DROPDOWN_TEMPLATE", 500, options.Keys.ToList(), setupItem); dropdown.ShowDropDown("LABEL_DROPDOWN_TEMPLATE", 500, options.Keys, setupItem);
return true; return true;
} }
} }

View File

@@ -122,7 +122,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
void ShowDropDown(Player p, DropDownButtonWidget dropdown) void ShowDropDown(Player p, DropDownButtonWidget dropdown)
{ {
var stances = Enum.GetValues(typeof(Stance)).OfType<Stance>().ToList(); var stances = Enum.GetValues(typeof(Stance)).OfType<Stance>();
Func<Stance, ScrollItemWidget, ScrollItemWidget> setupItem = (s, template) => Func<Stance, ScrollItemWidget, ScrollItemWidget> setupItem = (s, template) =>
{ {
var item = ScrollItemWidget.Setup(template, var item = ScrollItemWidget.Setup(template,
@@ -141,8 +141,8 @@ namespace OpenRA.Mods.RA.Widgets.Logic
if (p.World.LobbyInfo.GlobalSettings.LockTeams) if (p.World.LobbyInfo.GlobalSettings.LockTeams)
return; // team changes are banned return; // team changes are banned
world.IssueOrder(new Order("SetStance", world.LocalPlayer.PlayerActor, world.IssueOrder(new Order("SetStance", world.LocalPlayer.PlayerActor, false)
false) { TargetLocation = new int2((int)ss, 0), TargetString = p.InternalName }); { TargetLocation = new int2((int)ss, 0), TargetString = p.InternalName });
bw.Text = ss.ToString(); bw.Text = ss.ToString();
} }

View File

@@ -117,7 +117,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
return item; return item;
}; };
dropdown.ShowDropDown("RACE_DROPDOWN_TEMPLATE", 150, countryNames.Keys.ToList(), setupItem); dropdown.ShowDropDown("RACE_DROPDOWN_TEMPLATE", 150, countryNames.Keys, setupItem);
} }
public static Dictionary<int2, Color> GetSpawnColors(OrderManager orderManager, Map map) public static Dictionary<int2, Color> GetSpawnColors(OrderManager orderManager, Map map)

View File

@@ -59,7 +59,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
return item; return item;
}; };
dropdown.ShowDropDown("LABEL_DROPDOWN_TEMPLATE", 150, Mod.AllMods.Keys.ToList(), setupItem); dropdown.ShowDropDown("LABEL_DROPDOWN_TEMPLATE", 150, Mod.AllMods.Keys, setupItem);
} }
} }
} }

View File

@@ -156,7 +156,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
return item; return item;
}; };
dropdown.ShowDropDown("LABEL_DROPDOWN_TEMPLATE", 500, options.Keys.ToList(), setupItem); dropdown.ShowDropDown("LABEL_DROPDOWN_TEMPLATE", 500, options.Keys, setupItem);
return true; return true;
} }
} }