Make the lobby teamchat selector match the in-game selector.
This commit is contained in:
@@ -57,10 +57,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
|
|
||||||
readonly TabCompletionLogic tabCompletion = new TabCompletionLogic();
|
readonly TabCompletionLogic tabCompletion = new TabCompletionLogic();
|
||||||
|
|
||||||
readonly LabelWidget chatLabel;
|
|
||||||
|
|
||||||
MapPreview map;
|
MapPreview map;
|
||||||
bool addBotOnMapLoad;
|
bool addBotOnMapLoad;
|
||||||
|
bool disableTeamChat;
|
||||||
bool teamChat;
|
bool teamChat;
|
||||||
|
|
||||||
readonly string chatLineSound = ChromeMetrics.Get<string>("ChatLineSound");
|
readonly string chatLineSound = ChromeMetrics.Get<string>("ChatLineSound");
|
||||||
@@ -386,7 +385,11 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
if (skirmishMode)
|
if (skirmishMode)
|
||||||
disconnectButton.Text = "Back";
|
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");
|
var chatTextField = lobby.Get<TextFieldWidget>("CHAT_TEXTFIELD");
|
||||||
chatTextField.MaxLength = UnitOrders.ChatMessageMaxLength;
|
chatTextField.MaxLength = UnitOrders.ChatMessageMaxLength;
|
||||||
|
|
||||||
@@ -483,8 +486,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
|
|
||||||
bool SwitchTeamChat()
|
bool SwitchTeamChat()
|
||||||
{
|
{
|
||||||
|
if (!disableTeamChat)
|
||||||
teamChat ^= true;
|
teamChat ^= true;
|
||||||
chatLabel.Text = teamChat ? "Team:" : "Chat:";
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -546,6 +549,15 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
if (orderManager.LocalClient == null)
|
if (orderManager.LocalClient == null)
|
||||||
return;
|
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 isHost = Game.IsHost;
|
||||||
var idx = 0;
|
var idx = 0;
|
||||||
foreach (var kv in orderManager.LobbyInfo.Slots)
|
foreach (var kv in orderManager.LobbyInfo.Slots)
|
||||||
|
|||||||
@@ -124,18 +124,17 @@ Container@SERVER_LOBBY:
|
|||||||
WordWrap: true
|
WordWrap: true
|
||||||
VAlign: Top
|
VAlign: Top
|
||||||
Shadow: True
|
Shadow: True
|
||||||
TextField@CHAT_TEXTFIELD:
|
Button@CHAT_MODE:
|
||||||
Y: PARENT_BOTTOM - HEIGHT
|
Y: PARENT_BOTTOM - HEIGHT
|
||||||
Width: PARENT_RIGHT
|
Width: 50
|
||||||
Height: 25
|
Height: 25
|
||||||
LeftMargin: 50
|
Text: Team
|
||||||
Children:
|
Font: Bold
|
||||||
Label@LABEL_CHATTYPE:
|
TextField@CHAT_TEXTFIELD:
|
||||||
Y: 0 - 1
|
X: 55
|
||||||
Width: 45
|
Y: PARENT_BOTTOM - HEIGHT
|
||||||
|
Width: PARENT_RIGHT - 55
|
||||||
Height: 25
|
Height: 25
|
||||||
Align: Right
|
|
||||||
Text: Chat:
|
|
||||||
Button@DISCONNECT_BUTTON:
|
Button@DISCONNECT_BUTTON:
|
||||||
Y: PARENT_BOTTOM - 36
|
Y: PARENT_BOTTOM - 36
|
||||||
Width: 140
|
Width: 140
|
||||||
|
|||||||
@@ -127,18 +127,17 @@ Background@SERVER_LOBBY:
|
|||||||
WordWrap: true
|
WordWrap: true
|
||||||
VAlign: Top
|
VAlign: Top
|
||||||
Shadow: True
|
Shadow: True
|
||||||
TextField@CHAT_TEXTFIELD:
|
Button@CHAT_MODE:
|
||||||
Y: PARENT_BOTTOM - HEIGHT
|
Y: PARENT_BOTTOM - HEIGHT
|
||||||
Width: PARENT_RIGHT - 260
|
Width: 50
|
||||||
Height: 25
|
Height: 25
|
||||||
LeftMargin: 50
|
Text: Team
|
||||||
Children:
|
Font: Bold
|
||||||
Label@LABEL_CHATTYPE:
|
TextField@CHAT_TEXTFIELD:
|
||||||
Y: 0 - 1
|
X: 55
|
||||||
Width: 45
|
Y: PARENT_BOTTOM - HEIGHT
|
||||||
|
Width: PARENT_RIGHT - 260 - 55
|
||||||
Height: 25
|
Height: 25
|
||||||
Align: Right
|
|
||||||
Text: Chat:
|
|
||||||
Button@START_GAME_BUTTON:
|
Button@START_GAME_BUTTON:
|
||||||
X: PARENT_RIGHT - WIDTH - 150
|
X: PARENT_RIGHT - WIDTH - 150
|
||||||
Y: PARENT_BOTTOM - HEIGHT - 20
|
Y: PARENT_BOTTOM - HEIGHT - 20
|
||||||
|
|||||||
Reference in New Issue
Block a user