Merge pull request #8137 from Mailaender/sanitize-player-name
Added a client side player name sanitation
This commit is contained in:
@@ -266,6 +266,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
if (name.Text == c.Name)
|
||||
return;
|
||||
|
||||
name.Text = Settings.SanitizedPlayerName(name.Text);
|
||||
|
||||
orderManager.IssueOrder(Order.Command("name " + name.Text));
|
||||
Game.Settings.Player.Name = name.Text;
|
||||
Game.Settings.Save();
|
||||
|
||||
@@ -56,8 +56,17 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
panel.Get<LabelWidget>("MAP_NAME").GetText = () => preview.Title;
|
||||
}
|
||||
|
||||
panel.Get<TextFieldWidget>("SERVER_NAME").Text = settings.Server.Name ?? "";
|
||||
var serverName = panel.Get<TextFieldWidget>("SERVER_NAME");
|
||||
serverName.Text = Settings.SanitizedServerName(settings.Server.Name);
|
||||
serverName.OnEnterKey = () => { serverName.YieldKeyboardFocus(); return true; };
|
||||
serverName.OnLoseFocus = () =>
|
||||
{
|
||||
serverName.Text = Settings.SanitizedServerName(serverName.Text);
|
||||
settings.Server.Name = serverName.Text;
|
||||
};
|
||||
|
||||
panel.Get<TextFieldWidget>("LISTEN_PORT").Text = settings.Server.ListenPort.ToString();
|
||||
|
||||
advertiseOnline = Game.Settings.Server.AdvertiseOnline;
|
||||
|
||||
var externalPort = panel.Get<TextFieldWidget>("EXTERNAL_PORT");
|
||||
@@ -81,7 +90,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
|
||||
void CreateAndJoin()
|
||||
{
|
||||
var name = panel.Get<TextFieldWidget>("SERVER_NAME").Text;
|
||||
var name = Settings.SanitizedServerName(panel.Get<TextFieldWidget>("SERVER_NAME").Text);
|
||||
int listenPort, externalPort;
|
||||
if (!Exts.TryParseIntegerInvariant(panel.Get<TextFieldWidget>("LISTEN_PORT").Text, out listenPort))
|
||||
listenPort = 1234;
|
||||
|
||||
@@ -204,9 +204,13 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
var ps = Game.Settings.Player;
|
||||
|
||||
var nameTextfield = panel.Get<TextFieldWidget>("PLAYERNAME");
|
||||
nameTextfield.Text = ps.Name;
|
||||
nameTextfield.Text = Settings.SanitizedPlayerName(ps.Name);
|
||||
nameTextfield.OnEnterKey = () => { nameTextfield.YieldKeyboardFocus(); return true; };
|
||||
nameTextfield.OnLoseFocus = () => { ps.Name = nameTextfield.Text; };
|
||||
nameTextfield.OnLoseFocus = () =>
|
||||
{
|
||||
nameTextfield.Text = Settings.SanitizedPlayerName(nameTextfield.Text);
|
||||
ps.Name = nameTextfield.Text;
|
||||
};
|
||||
|
||||
var colorPreview = panel.Get<ColorPreviewManagerWidget>("COLOR_MANAGER");
|
||||
colorPreview.Color = ps.Color;
|
||||
|
||||
Reference in New Issue
Block a user