diff --git a/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj b/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj index c3a238a942..390e5ab1dd 100644 --- a/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj +++ b/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj @@ -89,7 +89,6 @@ - diff --git a/OpenRA.Mods.Cnc/Widgets/Logic/CncDiplomacyLogic.cs b/OpenRA.Mods.Cnc/Widgets/Logic/CncDiplomacyLogic.cs deleted file mode 100644 index 7910fb3be7..0000000000 --- a/OpenRA.Mods.Cnc/Widgets/Logic/CncDiplomacyLogic.cs +++ /dev/null @@ -1,77 +0,0 @@ -#region Copyright & License Information -/* - * Copyright 2007-2011 The OpenRA Developers (see AUTHORS) - * This file is part of OpenRA, which is free software. It is made - * available to you under the terms of the GNU General Public License - * as published by the Free Software Foundation. For more information, - * see COPYING. - */ -#endregion - -using System; -using System.Linq; -using OpenRA.Traits; -using OpenRA.Widgets; - -namespace OpenRA.Mods.Cnc.Widgets.Logic -{ - public class CncDiplomacyLogic - { - World world; - - [ObjectCreator.UseCtor] - public CncDiplomacyLogic([ObjectCreator.Param] Widget widget, - [ObjectCreator.Param] Action onExit, - [ObjectCreator.Param] World world) - { - this.world = world; - var panel = widget.GetWidget("DIPLOMACY_PANEL"); - panel.GetWidget("BACK_BUTTON").OnClick = () => { Widget.CloseWindow(); onExit(); }; - - var scrollpanel = panel.GetWidget("PLAYER_LIST"); - var itemTemplate = scrollpanel.GetWidget("PLAYER_TEMPLATE"); - scrollpanel.RemoveChildren(); - - foreach (var p in world.Players.Where(a => a != world.LocalPlayer && !a.NonCombatant)) - { - Player pp = p; - var item = itemTemplate.Clone(); - var nameLabel = item.GetWidget("NAME"); - nameLabel.GetText = () => pp.PlayerName; - nameLabel.Color = pp.ColorRamp.GetColor(0); - - var flag = item.GetWidget("FACTIONFLAG"); - flag.GetImageName = () => pp.Country.Race; - flag.GetImageCollection = () => "flags"; - item.GetWidget("FACTION").GetText = () => pp.Country.Name; - - var stance = item.GetWidget("STANCE"); - stance.GetText = () => world.LocalPlayer.Stances[ pp ].ToString(); - stance.OnMouseDown = _ => ShowStanceDropDown(stance, pp); - stance.IsDisabled = () => pp.IsBot || world.LobbyInfo.GlobalSettings.LockTeams; - scrollpanel.AddChild(item); - } - } - - bool ShowStanceDropDown(DropDownButtonWidget dropdown, Player pp) - { - if (dropdown.IsDisabled()) - return true; - - var stances = Enum.GetValues(typeof(Stance)).OfType().ToList(); - Func setupItem = (s, template) => - { - var item = ScrollItemWidget.Setup(template, - () => s == world.LocalPlayer.Stances[ pp ], - () => world.IssueOrder(new Order("SetStance", world.LocalPlayer.PlayerActor, false) - { TargetLocation = new int2((int)s, 0), TargetString = pp.InternalName })); - - item.GetWidget("LABEL").GetText = () => s.ToString(); - return item; - }; - - dropdown.ShowDropDown("LABEL_DROPDOWN_TEMPLATE", 150, stances, setupItem); - return true; - } - } -} diff --git a/OpenRA.Mods.Cnc/Widgets/Logic/CncIngameChromeLogic.cs b/OpenRA.Mods.Cnc/Widgets/Logic/CncIngameChromeLogic.cs index 0b4900ad43..9e0a22ed69 100644 --- a/OpenRA.Mods.Cnc/Widgets/Logic/CncIngameChromeLogic.cs +++ b/OpenRA.Mods.Cnc/Widgets/Logic/CncIngameChromeLogic.cs @@ -16,7 +16,7 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic { public class CncIngameChromeLogic { - enum MenuType { None, Diplomacy, Cheats } + enum MenuType { None, Cheats } MenuType menu = MenuType.None; Widget ingameRoot; @@ -48,18 +48,6 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic if (world.LocalPlayer != null) widget.GetWidget("PLAYER_WIDGETS").IsVisible = () => true; - var diplomacyButton = ingameRoot.GetWidget("DIPLOMACY_BUTTON"); - var diplomacyAvailable = world.LocalPlayer != null && world.Players.Any(a => a != world.LocalPlayer && !a.NonCombatant); - diplomacyButton.IsDisabled = () => !diplomacyAvailable; - diplomacyButton.OnClick = () => - { - if (menu != MenuType.None) - Widget.CloseWindow(); - - menu = MenuType.Diplomacy; - Game.OpenWindow("DIPLOMACY_PANEL", new WidgetArgs() {{"onExit", () => menu = MenuType.None }}); - }; - ingameRoot.GetWidget("OPTIONS_BUTTON").OnClick = () => { if (menu != MenuType.None) @@ -81,7 +69,7 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic if (menu != MenuType.None) Widget.CloseWindow(); - menu = MenuType.Diplomacy; + menu = MenuType.Cheats; Game.OpenWindow("CHEATS_PANEL", new WidgetArgs() {{"onExit", () => menu = MenuType.None }}); }; cheatsButton.IsVisible = () => world.LocalPlayer != null && world.LobbyInfo.GlobalSettings.AllowCheats; diff --git a/OpenRA.Mods.Cnc/Widgets/Logic/CncLobbyLogic.cs b/OpenRA.Mods.Cnc/Widgets/Logic/CncLobbyLogic.cs index c15389cb19..0ff2a3b64e 100644 --- a/OpenRA.Mods.Cnc/Widgets/Logic/CncLobbyLogic.cs +++ b/OpenRA.Mods.Cnc/Widgets/Logic/CncLobbyLogic.cs @@ -176,12 +176,6 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic disconnectButton.OnClick = () => { CloseWindow(); onExit(); }; var gameStarting = false; - var lockTeamsCheckbox = lobby.GetWidget("LOCKTEAMS_CHECKBOX"); - lockTeamsCheckbox.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.LockTeams; - lockTeamsCheckbox.IsDisabled = () => !Game.IsHost || gameStarting || orderManager.LocalClient == null - || orderManager.LocalClient.State == Session.ClientState.Ready; - lockTeamsCheckbox.OnClick = () => orderManager.IssueOrder(Order.Command( - "lockteams {0}".F(!orderManager.LobbyInfo.GlobalSettings.LockTeams))); var allowCheats = lobby.GetWidget("ALLOWCHEATS_CHECKBOX"); allowCheats.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.AllowCheats; diff --git a/mods/cnc/chrome/diplomacy.yaml b/mods/cnc/chrome/diplomacy.yaml deleted file mode 100644 index 9ed0be2903..0000000000 --- a/mods/cnc/chrome/diplomacy.yaml +++ /dev/null @@ -1,89 +0,0 @@ -Container@DIPLOMACY_PANEL: - Id:DIPLOMACY_PANEL - Logic:CncDiplomacyLogic - X:(WINDOW_RIGHT - WIDTH)/2 - Y:(WINDOW_BOTTOM - 400)/2 - Width:450 - Height:335 - Children: - Label@TITLE: - Width:PARENT_RIGHT - Y:0-25 - Font:BigBold - Contrast:true - Align:Center - Text:Diplomacy - Background@bg: - Width:450 - Height:300 - Background:panel-black - Children: - ScrollPanel@PLAYER_LIST: - Id:PLAYER_LIST - X:15 - Y:30 - Width:420 - Height:255 - ItemSpacing:5 - Children: - Container@PLAYER_TEMPLATE: - Id:PLAYER_TEMPLATE - Width:PARENT_RIGHT-27 - Height:25 - X:2 - Y:0 - Children: - Label@NAME: - Id:NAME - X:10 - Width:150 - Height:25 - Image@FACTIONFLAG: - Id:FACTIONFLAG - X:PARENT_RIGHT-210 - Y:5 - Width:30 - Height:15 - Label@FACTION: - Id:FACTION - X:PARENT_RIGHT-170 - Width:40 - Height:25 - DropDownButton@STANCE: - Id:STANCE - X:PARENT_RIGHT-110 - Width:100 - Height:25 - Container@LABEL_CONTAINER: - X:17 - Y:5 - Width:393 - Children: - Label@NAME: - X:10 - Width:150 - Height:25 - Text:Player - Align:Center - Font:Bold - Label@RACE: - X:PARENT_RIGHT-220 - Width:100 - Height:25 - Text:Faction - Font:Bold - Align:Center - Label@STANCE: - X:PARENT_RIGHT-110 - Width:100 - Height:25 - Text:Stance - Font:Bold - Align:Center - Button@BACK_BUTTON: - Id:BACK_BUTTON - Key:escape - Y:299 - Width:140 - Height:35 - Text:Back \ No newline at end of file diff --git a/mods/cnc/chrome/ingame.yaml b/mods/cnc/chrome/ingame.yaml index 7c47126c51..319b373203 100644 --- a/mods/cnc/chrome/ingame.yaml +++ b/mods/cnc/chrome/ingame.yaml @@ -25,16 +25,9 @@ Container@INGAME_ROOT: Width:140 Height:35 Text:Options - Button@DIPLOMACY_BUTTON: - Id:DIPLOMACY_BUTTON - X:150 - Y:5 - Width:140 - Height:35 - Text:Diplomacy Button@CHEATS_BUTTON: Id:CHEATS_BUTTON - X:295 + X:150 Y:5 Width:140 Height:35 diff --git a/mods/cnc/chrome/lobby.yaml b/mods/cnc/chrome/lobby.yaml index 6614374cc2..a4ef911c8c 100644 --- a/mods/cnc/chrome/lobby.yaml +++ b/mods/cnc/chrome/lobby.yaml @@ -31,13 +31,6 @@ Container@SERVER_LOBBY: Y:1 Width:192 Height:192 - Checkbox@LOCKTEAMS_CHECKBOX: - Id:LOCKTEAMS_CHECKBOX - X:PARENT_RIGHT-209 - Y:230 - Width:130 - Height:20 - Text: Lock Teams Checkbox@ALLOWCHEATS_CHECKBOX: Id:ALLOWCHEATS_CHECKBOX X:PARENT_RIGHT-209 diff --git a/mods/cnc/mod.yaml b/mods/cnc/mod.yaml index 913b78d48b..0f4be0e7d7 100644 --- a/mods/cnc/mod.yaml +++ b/mods/cnc/mod.yaml @@ -79,7 +79,6 @@ ChromeLayout: mods/cnc/chrome/modchooser.yaml mods/cnc/chrome/preferences.yaml mods/cnc/chrome/cheats.yaml - mods/cnc/chrome/diplomacy.yaml mods/cnc/chrome/dropdowns.yaml mods/cnc/chrome/objectives.yaml