relax items type for DropDownButtonLogic.ShowDropDown
This commit is contained in:
@@ -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()
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -122,12 +122,12 @@ 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,
|
||||||
() => s == world.LocalPlayer.Stances[ p ],
|
() => s == world.LocalPlayer.Stances[ p ],
|
||||||
() => SetStance(dropdown, p, s));
|
() => SetStance(dropdown, p, s));
|
||||||
|
|
||||||
item.GetWidget<LabelWidget>("LABEL").GetText = () => s.ToString();
|
item.GetWidget<LabelWidget>("LABEL").GetText = () => s.ToString();
|
||||||
return item;
|
return item;
|
||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user