From 8f560d79fd5be480a891c44c8bdded4853795bd9 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Thu, 6 Oct 2011 22:49:45 +1300 Subject: [PATCH] remove duplicate ShowTeamDropDown --- .../Widgets/Logic/CncLobbyLogic.cs | 17 +--------- OpenRA.Mods.RA/Widgets/Logic/LobbyLogic.cs | 33 ++++++++++--------- 2 files changed, 18 insertions(+), 32 deletions(-) diff --git a/OpenRA.Mods.Cnc/Widgets/Logic/CncLobbyLogic.cs b/OpenRA.Mods.Cnc/Widgets/Logic/CncLobbyLogic.cs index 1a7b7ad11d..c5d17fff3a 100644 --- a/OpenRA.Mods.Cnc/Widgets/Logic/CncLobbyLogic.cs +++ b/OpenRA.Mods.Cnc/Widgets/Logic/CncLobbyLogic.cs @@ -315,21 +315,6 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic dropdown.ShowDropDown("RACE_DROPDOWN_TEMPLATE", 150, CountryNames.Keys.ToList(), setupItem); } - void ShowTeamDropDown(DropDownButtonWidget dropdown, Session.Client client) - { - Func setupItem = (ii, itemTemplate) => - { - var item = ScrollItemWidget.Setup(itemTemplate, - () => client.Team == ii, - () => orderManager.IssueOrder(Order.Command("team {0} {1}".F(client.Index, ii)))); - item.GetWidget("LABEL").GetText = () => ii == 0 ? "-" : ii.ToString(); - return item; - }; - - var options = Graphics.Util.MakeArray(Map.SpawnPoints.Count()+1, i => i).ToList(); - dropdown.ShowDropDown("TEAM_DROPDOWN_TEMPLATE", 150, options, setupItem); - } - void ShowSpawnDropDown(DropDownButtonWidget dropdown, Session.Client client) { Func setupItem = (ii, itemTemplate) => @@ -459,7 +444,7 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic var team = template.GetWidget("TEAM"); team.IsDisabled = () => slot.LockTeam || ready; - team.OnMouseDown = _ => ShowTeamDropDown(team, client); + team.OnMouseDown = _ => LobbyUtils.ShowTeamDropDown(team, client, orderManager, Map); team.GetText = () => (client.Team == 0) ? "-" : client.Team.ToString(); var spawn = template.GetWidget("SPAWN"); diff --git a/OpenRA.Mods.RA/Widgets/Logic/LobbyLogic.cs b/OpenRA.Mods.RA/Widgets/Logic/LobbyLogic.cs index ad8788960c..c0f2011752 100644 --- a/OpenRA.Mods.RA/Widgets/Logic/LobbyLogic.cs +++ b/OpenRA.Mods.RA/Widgets/Logic/LobbyLogic.cs @@ -224,21 +224,6 @@ namespace OpenRA.Mods.RA.Widgets.Logic dropdown.ShowDropDown("RACE_DROPDOWN_TEMPLATE", 150, CountryNames.Keys.ToList(), setupItem); } - void ShowTeamDropDown(DropDownButtonWidget dropdown, Session.Client client) - { - Func setupItem = (ii, itemTemplate) => - { - var item = ScrollItemWidget.Setup(itemTemplate, - () => client.Team == ii, - () => orderManager.IssueOrder(Order.Command("team {0} {1}".F(client.Index, ii)))); - item.GetWidget("LABEL").GetText = () => ii == 0 ? "-" : ii.ToString(); - return item; - }; - - var options = Graphics.Util.MakeArray(Map.PlayerCount, i => i).ToList(); - dropdown.ShowDropDown("TEAM_DROPDOWN_TEMPLATE", 150, options, setupItem); - } - void ShowColorDropDown(DropDownButtonWidget color, Session.Client client) { var colorChooser = Game.modData.WidgetLoader.LoadWidget( new WidgetArgs() { {"worldRenderer", worldRenderer} }, null, "COLOR_CHOOSER" ); @@ -333,7 +318,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic var team = template.GetWidget("TEAM"); team.IsDisabled = () => s.LockTeam; - team.OnMouseDown = _ => ShowTeamDropDown(team, c); + team.OnMouseDown = _ => LobbyUtils.ShowTeamDropDown(team, c, orderManager, Map); team.GetText = () => (c.Team == 0) ? "-" : c.Team.ToString(); var status = template.GetWidget("STATUS"); @@ -499,5 +484,21 @@ namespace OpenRA.Mods.RA.Widgets.Logic dropdown.ShowDropDown("LABEL_DROPDOWN_TEMPLATE", 150, options, setupItem); } + + public static void ShowTeamDropDown(DropDownButtonWidget dropdown, Session.Client client, + OrderManager orderManager, Map map) + { + Func setupItem = (ii, itemTemplate) => + { + var item = ScrollItemWidget.Setup(itemTemplate, + () => client.Team == ii, + () => orderManager.IssueOrder(Order.Command("team {0} {1}".F(client.Index, ii)))); + item.GetWidget("LABEL").GetText = () => ii == 0 ? "-" : ii.ToString(); + return item; + }; + + var options = Graphics.Util.MakeArray(map.SpawnPoints.Count() + 1, i => i).ToList(); + dropdown.ShowDropDown("TEAM_DROPDOWN_TEMPLATE", 150, options, setupItem); + } } }