40 lines
888 B
C#
40 lines
888 B
C#
using Newtonsoft.Json;
|
|
using System;
|
|
using System.Text.RegularExpressions;
|
|
|
|
[Serializable]
|
|
[JsonObject]
|
|
public class Player
|
|
{
|
|
public string name;
|
|
public string id;
|
|
|
|
public Player(string _name)
|
|
{
|
|
id = Guid.NewGuid().ToString();
|
|
SetName( _name);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Will sanitize the text and set it for the player
|
|
/// </summary>
|
|
public void SetName(string _name)
|
|
{
|
|
name = SanitizeString(_name);
|
|
}
|
|
|
|
private string SanitizeString(string input)
|
|
{
|
|
// Utilisez une expression régulière pour supprimer tout ce qui n'est pas une lettre ou un chiffre
|
|
string sanitized = Regex.Replace(input, @"[^a-zA-Z0-9]", "");
|
|
|
|
// Limitez la longueur à 16 caractères maximum
|
|
if (sanitized.Length > 16)
|
|
{
|
|
sanitized = sanitized[..16];
|
|
}
|
|
|
|
return sanitized;
|
|
}
|
|
}
|