#540 move 'allow cheats' to lobby from prelobby

This commit is contained in:
Chris Forbes
2011-02-13 17:28:40 +13:00
parent 447b34ab38
commit 0f0facedd1
9 changed files with 40 additions and 20 deletions

View File

@@ -64,7 +64,6 @@ namespace OpenRA.Server
lobbyInfo = new Session( settings.Game.Mods );
lobbyInfo.GlobalSettings.RandomSeed = randomSeed;
lobbyInfo.GlobalSettings.Map = map;
lobbyInfo.GlobalSettings.AllowCheats = settings.Server.AllowCheats;
lobbyInfo.GlobalSettings.ServerName = settings.Server.Name;
foreach (var t in ServerTraits.WithInterface<INotifyServerStart>())

View File

@@ -226,6 +226,19 @@ namespace OpenRA.Mods.RA.Server
server.SyncLobbyInfo();
return true;
}},
{ "allowcheats",
s =>
{
if (conn.PlayerIndex != 0)
{
server.SendChatTo( conn, "Only the host can set that option" );
return true;
}
bool.TryParse(s, out server.lobbyInfo.GlobalSettings.AllowCheats);
server.SyncLobbyInfo();
return true;
}},
{ "kick",
s =>
{

View File

@@ -43,8 +43,6 @@ namespace OpenRA.Mods.RA.Widgets.Delegates
cs.GetWidget<TextFieldWidget>("EXTERNAL_PORT").Text = settings.Server.ExternalPort.ToString();
cs.GetWidget<CheckboxWidget>("CHECKBOX_ONLINE").Bind(settings.Server, "AdvertiseOnline");
cs.GetWidget<CheckboxWidget>("CHECKBOX_ONLINE").OnChange += _ => settings.Save();
cs.GetWidget<CheckboxWidget>("CHECKBOX_CHEATS").Bind(settings.Server, "AllowCheats");
cs.GetWidget<CheckboxWidget>("CHECKBOX_CHEATS").OnChange += _ => settings.Save();
}
}
}

View File

@@ -53,6 +53,7 @@ namespace OpenRA.Mods.RA.Widgets.Delegates
lobby.GetWidget<ChatDisplayWidget>("CHAT_DISPLAY").ClearChat();
lobby.GetWidget("CHANGEMAP_BUTTON").Visible = true;
lobby.GetWidget("LOCKTEAMS_CHECKBOX").Visible = true;
lobby.GetWidget("ALLOWCHEATS_CHECKBOX").Visible = true;
lobby.GetWidget("DISCONNECT_BUTTON").Visible = true;
break;
}

View File

@@ -114,6 +114,15 @@ namespace OpenRA.Mods.RA.Widgets.Delegates
"lockteams {0}".F(!orderManager.LobbyInfo.GlobalSettings.LockTeams)));
};
var allowCheats = lobby.GetWidget<CheckboxWidget>("ALLOWCHEATS_CHECKBOX");
allowCheats.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.AllowCheats;
allowCheats.OnChange += _ =>
{
if (Game.IsHost)
orderManager.IssueOrder(Order.Command(
"allowcheats {0}".F(!orderManager.LobbyInfo.GlobalSettings.AllowCheats)));
};
var startGameButton = lobby.GetWidget("START_GAME_BUTTON");
startGameButton.OnMouseUp = mi =>
{

View File

@@ -330,7 +330,7 @@ Background@SERVER_LOBBY:
Button@DISCONNECT_BUTTON:
Id:DISCONNECT_BUTTON
X:PARENT_RIGHT-154
Y:PARENT_BOTTOM-189
Y:PARENT_BOTTOM-189+25
Width:120
Height:25
Text:Disconnect
@@ -342,6 +342,13 @@ Background@SERVER_LOBBY:
Width: 80
Height: 20
Text: Lock Teams
Checkbox@ALLOWCHEATS_CHECKBOX:
Id:ALLOWCHEATS_CHECKBOX
X: PARENT_RIGHT-154
Y: PARENT_BOTTOM-229+25
Width: 80
Height: 20
Text: Allow Cheats
Background@COLOR_CHOOSER:
Id:COLOR_CHOOSER
Background:dialog2

View File

@@ -69,13 +69,6 @@ Background@CREATESERVER_BG:
Width:300
Height:20
Text:Advertise game Online
Checkbox@CHECKBOX_CHEATS:
Id:CHECKBOX_CHEATS
X:165
Y:160
Width:300
Height:20
Text:Allow Cheats
Button@BUTTON_START:
Id:BUTTON_START
X:130

View File

@@ -330,7 +330,7 @@ Background@SERVER_LOBBY:
Button@DISCONNECT_BUTTON:
Id:DISCONNECT_BUTTON
X:PARENT_RIGHT-154
Y:PARENT_BOTTOM-189
Y:PARENT_BOTTOM-189+25
Width:120
Height:25
Text:Disconnect
@@ -342,6 +342,13 @@ Background@SERVER_LOBBY:
Width: 80
Height: 20
Text: Lock Teams
Checkbox@ALLOWCHEATS_CHECKBOX:
Id:ALLOWCHEATS_CHECKBOX
X: PARENT_RIGHT-154
Y: PARENT_BOTTOM-229+25
Width: 80
Height: 20
Text: Allow Cheats
Background@COLOR_CHOOSER:
Id:COLOR_CHOOSER
Background:dialog2

View File

@@ -69,13 +69,6 @@ Background@CREATESERVER_BG:
Width:300
Height:20
Text:Advertise game Online
Checkbox@CHECKBOX_CHEATS:
Id:CHECKBOX_CHEATS
X:165
Y:160
Width:300
Height:20
Text:Allow Cheats
Button@BUTTON_START:
Id:BUTTON_START
X:130