Remove ChatSettings.NickName, use PlayerName always as default
This commit is contained in:
@@ -79,6 +79,8 @@ namespace OpenRA.Chat
|
||||
volatile ChatConnectionStatus connectionStatus = ChatConnectionStatus.Disconnected;
|
||||
public ChatConnectionStatus ConnectionStatus { get { return connectionStatus; } }
|
||||
|
||||
string nickname;
|
||||
|
||||
public GlobalChat()
|
||||
{
|
||||
client.Encoding = System.Text.Encoding.UTF8;
|
||||
@@ -128,11 +130,13 @@ namespace OpenRA.Chat
|
||||
});
|
||||
}
|
||||
|
||||
public void Connect()
|
||||
public void Connect(string nickname)
|
||||
{
|
||||
if (client.IsConnected)
|
||||
if (client.IsConnected || !IsValidNickname(nickname))
|
||||
return;
|
||||
|
||||
this.nickname = nickname;
|
||||
|
||||
new Thread(() =>
|
||||
{
|
||||
try
|
||||
@@ -183,12 +187,7 @@ namespace OpenRA.Chat
|
||||
AddNotification("Connected.");
|
||||
connectionStatus = ChatConnectionStatus.Connected;
|
||||
|
||||
// Guard against settings.yaml modification
|
||||
var nick = SanitizedName(Game.Settings.Chat.Nickname);
|
||||
if (nick != Game.Settings.Chat.Nickname)
|
||||
Game.RunAfterTick(() => Game.Settings.Chat.Nickname = nick);
|
||||
|
||||
client.Login(nick, "in-game IRC client", 0, "OpenRA");
|
||||
client.Login(nickname, "in-game IRC client", 0, "OpenRA");
|
||||
client.RfcJoin("#" + Game.Settings.Chat.Channel);
|
||||
}
|
||||
|
||||
@@ -339,7 +338,6 @@ namespace OpenRA.Chat
|
||||
if (Rfc2812.IsValidNickname(nick))
|
||||
{
|
||||
client.RfcNick(nick);
|
||||
Game.Settings.Chat.Nickname = nick;
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -366,7 +364,7 @@ namespace OpenRA.Chat
|
||||
|
||||
AddNotification("Disconnecting from {0}...".F(client.Address));
|
||||
|
||||
Game.RunAfterTick(() => Game.Settings.Chat.ConnectAutomatically = false);
|
||||
Game.RunAfterTick(() => { Game.Settings.Chat.ConnectAutomatically = false; Game.Settings.Save(); });
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
|
||||
@@ -325,7 +325,6 @@ namespace OpenRA
|
||||
public string Hostname = "irc.openra.net";
|
||||
public int Port = 6667;
|
||||
public string Channel = "lobby";
|
||||
public string Nickname = "Newbie";
|
||||
public string QuitMessage = "Battle control terminated!";
|
||||
public string TimestampFormat = "HH:mm";
|
||||
public bool ConnectAutomatically = false;
|
||||
|
||||
@@ -42,12 +42,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
inputBox.IsDisabled = () => Game.GlobalChat.ConnectionStatus != ChatConnectionStatus.Joined;
|
||||
inputBox.OnEnterKey = EnterPressed;
|
||||
|
||||
// Set a random default nick
|
||||
if (Game.Settings.Chat.Nickname == new ChatSettings().Nickname)
|
||||
Game.Settings.Chat.Nickname += Game.CosmeticRandom.Next(100, 999);
|
||||
|
||||
var nickName = Game.GlobalChat.SanitizedName(Game.Settings.Player.Name);
|
||||
var nicknameBox = widget.Get<TextFieldWidget>("NICKNAME_TEXTFIELD");
|
||||
nicknameBox.Text = Game.GlobalChat.SanitizedName(Game.Settings.Chat.Nickname);
|
||||
nicknameBox.Text = nickName;
|
||||
nicknameBox.OnTextEdited = () =>
|
||||
{
|
||||
nicknameBox.Text = Game.GlobalChat.SanitizedName(nicknameBox.Text);
|
||||
@@ -65,20 +62,15 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
|
||||
var connectButton = connectPanel.Get<ButtonWidget>("CONNECT_BUTTON");
|
||||
connectButton.IsDisabled = () => !Game.GlobalChat.IsValidNickname(nicknameBox.Text);
|
||||
connectButton.OnClick = () =>
|
||||
{
|
||||
Game.Settings.Chat.Nickname = nicknameBox.Text;
|
||||
Game.Settings.Save();
|
||||
Game.GlobalChat.Connect();
|
||||
};
|
||||
connectButton.OnClick = () => Game.GlobalChat.Connect(nicknameBox.Text);
|
||||
|
||||
var mainPanel = widget.Get("GLOBALCHAT_MAIN_PANEL");
|
||||
mainPanel.IsVisible = () => Game.GlobalChat.ConnectionStatus != ChatConnectionStatus.Disconnected;
|
||||
|
||||
mainPanel.Get<LabelWidget>("CHANNEL_TOPIC").GetText = () => Game.GlobalChat.Topic;
|
||||
|
||||
if (Game.Settings.Chat.ConnectAutomatically && Game.GlobalChat.IsValidNickname(Game.Settings.Chat.Nickname))
|
||||
Game.GlobalChat.Connect();
|
||||
if (Game.Settings.Chat.ConnectAutomatically)
|
||||
Game.GlobalChat.Connect(nickName);
|
||||
}
|
||||
|
||||
Widget MakeHistoryWidget(object o)
|
||||
|
||||
Reference in New Issue
Block a user