Make the lobby teamchat selector match the in-game selector.

This commit is contained in:
Paul Chote
2018-09-09 04:25:16 +01:00
committed by abcdefg30
parent 7454427b13
commit 9e85aefca8
3 changed files with 35 additions and 25 deletions

View File

@@ -57,10 +57,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic
readonly TabCompletionLogic tabCompletion = new TabCompletionLogic();
readonly LabelWidget chatLabel;
MapPreview map;
bool addBotOnMapLoad;
bool disableTeamChat;
bool teamChat;
readonly string chatLineSound = ChromeMetrics.Get<string>("ChatLineSound");
@@ -386,7 +385,11 @@ namespace OpenRA.Mods.Common.Widgets.Logic
if (skirmishMode)
disconnectButton.Text = "Back";
chatLabel = lobby.Get<LabelWidget>("LABEL_CHATTYPE");
var chatMode = lobby.Get<ButtonWidget>("CHAT_MODE");
chatMode.GetText = () => teamChat ? "Team" : "All";
chatMode.OnClick = () => teamChat ^= true;
chatMode.IsDisabled = () => disableTeamChat;
var chatTextField = lobby.Get<TextFieldWidget>("CHAT_TEXTFIELD");
chatTextField.MaxLength = UnitOrders.ChatMessageMaxLength;
@@ -483,8 +486,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
bool SwitchTeamChat()
{
if (!disableTeamChat)
teamChat ^= true;
chatLabel.Text = teamChat ? "Team:" : "Chat:";
return true;
}
@@ -546,6 +549,15 @@ namespace OpenRA.Mods.Common.Widgets.Logic
if (orderManager.LocalClient == null)
return;
disableTeamChat = orderManager.LocalClient.Team == 0 ||
!orderManager.LobbyInfo.Clients.Any(c =>
c != orderManager.LocalClient &&
c.Bot == null &&
c.Team == orderManager.LocalClient.Team);
if (disableTeamChat)
teamChat = false;
var isHost = Game.IsHost;
var idx = 0;
foreach (var kv in orderManager.LobbyInfo.Slots)

View File

@@ -124,18 +124,17 @@ Container@SERVER_LOBBY:
WordWrap: true
VAlign: Top
Shadow: True
TextField@CHAT_TEXTFIELD:
Button@CHAT_MODE:
Y: PARENT_BOTTOM - HEIGHT
Width: PARENT_RIGHT
Width: 50
Height: 25
LeftMargin: 50
Children:
Label@LABEL_CHATTYPE:
Y: 0 - 1
Width: 45
Text: Team
Font: Bold
TextField@CHAT_TEXTFIELD:
X: 55
Y: PARENT_BOTTOM - HEIGHT
Width: PARENT_RIGHT - 55
Height: 25
Align: Right
Text: Chat:
Button@DISCONNECT_BUTTON:
Y: PARENT_BOTTOM - 36
Width: 140

View File

@@ -127,18 +127,17 @@ Background@SERVER_LOBBY:
WordWrap: true
VAlign: Top
Shadow: True
TextField@CHAT_TEXTFIELD:
Button@CHAT_MODE:
Y: PARENT_BOTTOM - HEIGHT
Width: PARENT_RIGHT - 260
Width: 50
Height: 25
LeftMargin: 50
Children:
Label@LABEL_CHATTYPE:
Y: 0 - 1
Width: 45
Text: Team
Font: Bold
TextField@CHAT_TEXTFIELD:
X: 55
Y: PARENT_BOTTOM - HEIGHT
Width: PARENT_RIGHT - 260 - 55
Height: 25
Align: Right
Text: Chat:
Button@START_GAME_BUTTON:
X: PARENT_RIGHT - WIDTH - 150
Y: PARENT_BOTTOM - HEIGHT - 20