layout tidyup - start game now forces game start, ready checkboxes behave as before.
This commit is contained in:
@@ -240,12 +240,14 @@ namespace OpenRA.Server
|
||||
conn.socket.RemoteEndPoint, client.State);
|
||||
|
||||
SyncLobbyInfo();
|
||||
|
||||
if (conns.Count > 0 && conns.All(c => GetClient(c).State == Session.ClientState.Ready))
|
||||
InterpretCommand(conn, "startgame");
|
||||
|
||||
return true;
|
||||
}},
|
||||
{ "startgame",
|
||||
s =>
|
||||
{
|
||||
if (conns.Count > 0 && conns.All(c => GetClient(c).State == Session.ClientState.Ready))
|
||||
{
|
||||
GameStarted = true;
|
||||
foreach( var c in conns )
|
||||
@@ -256,7 +258,6 @@ namespace OpenRA.Server
|
||||
new ServerOrder("StartGame", "").Serialize());
|
||||
|
||||
PingMasterServer();
|
||||
}
|
||||
return true;
|
||||
}},
|
||||
{ "name",
|
||||
|
||||
@@ -54,7 +54,12 @@ namespace OpenRA.Widgets.Delegates
|
||||
break;
|
||||
case ConnectionState.Connected:
|
||||
r.OpenWindow("SERVER_LOBBY");
|
||||
r.GetWidget("SERVER_LOBBY").GetWidget<ChatDisplayWidget>("CHAT_DISPLAY").ClearChat();
|
||||
|
||||
var lobby = r.GetWidget("SERVER_LOBBY");
|
||||
lobby.GetWidget<ChatDisplayWidget>("CHAT_DISPLAY").ClearChat();
|
||||
lobby.GetWidget("CHANGEMAP_BUTTON").Visible = true;
|
||||
lobby.GetWidget("LOCKTEAMS_CHECKBOX").Visible = true;
|
||||
lobby.GetWidget("DISCONNECT_BUTTON").Visible = true;
|
||||
r.GetWidget("INGAME_ROOT").GetWidget<ChatDisplayWidget>("CHAT_DISPLAY").ClearChat();
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -84,17 +84,8 @@ namespace OpenRA.Widgets.Delegates
|
||||
return true;
|
||||
};
|
||||
|
||||
var startGameButton = lobby.GetWidget("START_GAME_BUTTON");
|
||||
startGameButton.OnMouseUp = mi =>
|
||||
{
|
||||
mapButton.Visible = false;
|
||||
Game.IssueOrder(Order.Command("startgame"));
|
||||
return true;
|
||||
};
|
||||
startGameButton.IsVisible = () => Game.IsHost && Game.LobbyInfo.Clients.All(c => c.State == Session.ClientState.Ready);
|
||||
|
||||
var lockTeamsCheckbox = lobby.GetWidget<CheckboxWidget>("LOCKTEAMS_CHECKBOX");
|
||||
lockTeamsCheckbox.IsVisible = () => true;
|
||||
lockTeamsCheckbox.IsVisible = () => lockTeamsCheckbox.Visible && true;
|
||||
lockTeamsCheckbox.Checked = () => Game.LobbyInfo.GlobalSettings.LockTeams;
|
||||
lockTeamsCheckbox.OnMouseDown = mi =>
|
||||
{
|
||||
@@ -103,6 +94,18 @@ namespace OpenRA.Widgets.Delegates
|
||||
"lockteams {0}".F(!Game.LobbyInfo.GlobalSettings.LockTeams)));
|
||||
return true;
|
||||
};
|
||||
|
||||
var startGameButton = lobby.GetWidget("START_GAME_BUTTON");
|
||||
startGameButton.OnMouseUp = mi =>
|
||||
{
|
||||
mapButton.Visible = false;
|
||||
disconnectButton.Visible = false;
|
||||
lockTeamsCheckbox.Visible = false;
|
||||
Game.IssueOrder(Order.Command("startgame"));
|
||||
return true;
|
||||
};
|
||||
startGameButton.IsVisible = () => Game.IsHost;
|
||||
|
||||
Game.LobbyInfoChanged += JoinedServer;
|
||||
Game.LobbyInfoChanged += UpdatePlayerList;
|
||||
Game.AddChatLine += lobby.GetWidget<ChatDisplayWidget>("CHAT_DISPLAY").AddLine;
|
||||
|
||||
@@ -205,8 +205,8 @@ Container@ROOT:
|
||||
Button@CHANGEMAP_BUTTON:
|
||||
Id:CHANGEMAP_BUTTON
|
||||
Visible:true
|
||||
X:PARENT_RIGHT-140
|
||||
Y:300
|
||||
X:PARENT_RIGHT-160
|
||||
Y:PARENT_BOTTOM-269
|
||||
Width:120
|
||||
Height:25
|
||||
Text:Change Map
|
||||
@@ -215,30 +215,30 @@ Container@ROOT:
|
||||
Id:CHAT_DISPLAY
|
||||
Visible:true
|
||||
X:20
|
||||
Y:PARENT_BOTTOM - 269
|
||||
Width:PARENT_RIGHT - 40
|
||||
Height:190
|
||||
Notification: beepy2.aud
|
||||
Height:230
|
||||
Y:PARENT_BOTTOM - 289
|
||||
Width:PARENT_RIGHT - 200
|
||||
Label@LABEL_CHATTYPE:
|
||||
Id:LABEL_CHATTYPE
|
||||
Width:65
|
||||
Height:25
|
||||
X:0
|
||||
Y:PARENT_BOTTOM - 75
|
||||
Y:PARENT_BOTTOM - 50
|
||||
Text:Chat:
|
||||
Align:Right
|
||||
TextField@CHAT_TEXTFIELD:
|
||||
Id:CHAT_TEXTFIELD
|
||||
Visible:true
|
||||
X:70
|
||||
Y:PARENT_BOTTOM - 74
|
||||
Width:710
|
||||
Y:PARENT_BOTTOM - 49
|
||||
Width:550
|
||||
Height:25
|
||||
Button@START_GAME_BUTTON:
|
||||
Id:START_GAME_BUTTON
|
||||
Visible:true
|
||||
X:PARENT_RIGHT-140
|
||||
Y:PARENT_BOTTOM-43
|
||||
X:PARENT_RIGHT-160
|
||||
Y:PARENT_BOTTOM-49
|
||||
Width:120
|
||||
Height:25
|
||||
Text:Start Game
|
||||
@@ -246,8 +246,8 @@ Container@ROOT:
|
||||
Button@DISCONNECT_BUTTON:
|
||||
Id:DISCONNECT_BUTTON
|
||||
Visible:true
|
||||
X:20
|
||||
Y:PARENT_BOTTOM-43
|
||||
X:PARENT_RIGHT-160
|
||||
Y:PARENT_BOTTOM-189
|
||||
Width:120
|
||||
Height:25
|
||||
Text:Disconnect
|
||||
@@ -255,8 +255,8 @@ Container@ROOT:
|
||||
Checkbox@LOCKTEAMS_CHECKBOX:
|
||||
Id:LOCKTEAMS_CHECKBOX
|
||||
Visible: true
|
||||
X: PARENT_RIGHT-300
|
||||
Y: PARENT_BOTTOM-38
|
||||
X: PARENT_RIGHT-160
|
||||
Y: PARENT_BOTTOM-229
|
||||
Width: 80
|
||||
Height: 20
|
||||
Text: Lock Teams
|
||||
|
||||
@@ -205,8 +205,8 @@ Container@ROOT:
|
||||
Button@CHANGEMAP_BUTTON:
|
||||
Id:CHANGEMAP_BUTTON
|
||||
Visible:true
|
||||
X:PARENT_RIGHT-140
|
||||
Y:300
|
||||
X:PARENT_RIGHT-160
|
||||
Y:PARENT_BOTTOM-269
|
||||
Width:120
|
||||
Height:25
|
||||
Text:Change Map
|
||||
@@ -215,30 +215,30 @@ Container@ROOT:
|
||||
Id:CHAT_DISPLAY
|
||||
Visible:true
|
||||
X:20
|
||||
Y:PARENT_BOTTOM - 269
|
||||
Width:PARENT_RIGHT - 40
|
||||
Height:190
|
||||
Height:230
|
||||
Y:PARENT_BOTTOM - 289
|
||||
Width:PARENT_RIGHT - 200
|
||||
Notification: rabeep1.aud
|
||||
Label@LABEL_CHATTYPE:
|
||||
Id:LABEL_CHATTYPE
|
||||
Width:65
|
||||
Height:25
|
||||
X:0
|
||||
Y:PARENT_BOTTOM - 75
|
||||
Y:PARENT_BOTTOM - 50
|
||||
Text:Chat:
|
||||
Align:Right
|
||||
TextField@CHAT_TEXTFIELD:
|
||||
Id:CHAT_TEXTFIELD
|
||||
Visible:true
|
||||
X:70
|
||||
Y:PARENT_BOTTOM - 74
|
||||
Width:710
|
||||
Y:PARENT_BOTTOM - 49
|
||||
Width:550
|
||||
Height:25
|
||||
Button@START_GAME_BUTTON:
|
||||
Id:START_GAME_BUTTON
|
||||
Visible:true
|
||||
X:PARENT_RIGHT-140
|
||||
Y:PARENT_BOTTOM-43
|
||||
X:PARENT_RIGHT-160
|
||||
Y:PARENT_BOTTOM-49
|
||||
Width:120
|
||||
Height:25
|
||||
Text:Start Game
|
||||
@@ -246,8 +246,8 @@ Container@ROOT:
|
||||
Button@DISCONNECT_BUTTON:
|
||||
Id:DISCONNECT_BUTTON
|
||||
Visible:true
|
||||
X:20
|
||||
Y:PARENT_BOTTOM-43
|
||||
X:PARENT_RIGHT-160
|
||||
Y:PARENT_BOTTOM-189
|
||||
Width:120
|
||||
Height:25
|
||||
Text:Disconnect
|
||||
@@ -255,8 +255,8 @@ Container@ROOT:
|
||||
Checkbox@LOCKTEAMS_CHECKBOX:
|
||||
Id:LOCKTEAMS_CHECKBOX
|
||||
Visible: true
|
||||
X: PARENT_RIGHT-300
|
||||
Y: PARENT_BOTTOM-38
|
||||
X: PARENT_RIGHT-160
|
||||
Y: PARENT_BOTTOM-229
|
||||
Width: 80
|
||||
Height: 20
|
||||
Text: Lock Teams
|
||||
|
||||
Reference in New Issue
Block a user