From ce609195cd65e3648fd9db28a030b15c7999f502 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Fri, 24 Dec 2010 12:29:21 +1300 Subject: [PATCH] make kicking actually work --- OpenRA.Game/Server/Server.cs | 6 ++++++ OpenRA.Mods.RA/Widgets/Delegates/LobbyDelegate.cs | 8 ++++++++ mods/cnc/chrome/gamelobby.yaml | 8 ++++++++ mods/ra/chrome/gamelobby.yaml | 8 ++++++++ 4 files changed, 30 insertions(+) diff --git a/OpenRA.Game/Server/Server.cs b/OpenRA.Game/Server/Server.cs index 628ca6a5fe..6a7232de72 100644 --- a/OpenRA.Game/Server/Server.cs +++ b/OpenRA.Game/Server/Server.cs @@ -291,6 +291,12 @@ namespace OpenRA.Server if (conns.Count != 0) SyncLobbyInfo(); + + try + { + toDrop.socket.Disconnect(false); + } + catch { } } public void SyncLobbyInfo() diff --git a/OpenRA.Mods.RA/Widgets/Delegates/LobbyDelegate.cs b/OpenRA.Mods.RA/Widgets/Delegates/LobbyDelegate.cs index 3abb275ef8..5bd0c797b7 100755 --- a/OpenRA.Mods.RA/Widgets/Delegates/LobbyDelegate.cs +++ b/OpenRA.Mods.RA/Widgets/Delegates/LobbyDelegate.cs @@ -461,6 +461,14 @@ namespace OpenRA.Mods.RA.Widgets.Delegates factionflag.IsVisible = () => !slot1.Spectator; team.IsVisible = () => !slot1.Spectator; spectator.IsVisible = () => slot1.Spectator || slot1.Bot != null; + + var kickButton = template.GetWidget("KICK"); + kickButton.IsVisible = () => Game.IsHost; + kickButton.OnMouseUp = mi => + { + orderManager.IssueOrder(Order.Command("kick " + c.Slot)); + return true; + }; } template.Id = "SLOT_{0}".F(s.Index); diff --git a/mods/cnc/chrome/gamelobby.yaml b/mods/cnc/chrome/gamelobby.yaml index df619afba1..654b369488 100644 --- a/mods/cnc/chrome/gamelobby.yaml +++ b/mods/cnc/chrome/gamelobby.yaml @@ -128,6 +128,14 @@ Background@SERVER_LOBBY: Height:25 X:5 Y:0-1 + Button@KICK: + Id:KICK + Text:X + Width:25 + Height:23 + X:125 + Y:2 + Bold:Yes ColorBlock@COLOR: Id:COLOR X:165 diff --git a/mods/ra/chrome/gamelobby.yaml b/mods/ra/chrome/gamelobby.yaml index 35ef762e9b..68587876d9 100644 --- a/mods/ra/chrome/gamelobby.yaml +++ b/mods/ra/chrome/gamelobby.yaml @@ -128,6 +128,14 @@ Background@SERVER_LOBBY: Height:25 X:5 Y:0-1 + Button@KICK: + Id:KICK + Text:X + Width:25 + Height:23 + X:125 + Y:2 + Bold:Yes ColorBlock@COLOR: Id:COLOR X:165