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