47 lines
1.2 KiB
C#
47 lines
1.2 KiB
C#
using System.Text.RegularExpressions;
|
|
using TMPro;
|
|
using Unity.VisualScripting;
|
|
using UnityEngine;
|
|
|
|
public class NumberTechDisplay : MonoBehaviour
|
|
{
|
|
[SerializeField] private TextMeshProUGUI label;
|
|
[SerializeField] private string prefix;
|
|
|
|
private const string DEFAULT_NUMBER = "<не указан>";
|
|
|
|
private void Start()
|
|
{
|
|
if (SettingsManager.GetBool(SettingKey.ShowNumberTech))
|
|
{
|
|
var number = PlayerPrefs.GetString("NumberTech", DEFAULT_NUMBER);
|
|
|
|
if(number != DEFAULT_NUMBER)
|
|
{
|
|
number = FormatPhoneNumber(number);
|
|
}
|
|
|
|
label.text = $"{prefix}\n{number}";
|
|
}
|
|
else
|
|
{
|
|
gameObject.SetActive(false);
|
|
}
|
|
}
|
|
|
|
public static string FormatPhoneNumber(string phoneNumber)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(phoneNumber))
|
|
return phoneNumber;
|
|
|
|
string cleaned = Regex.Replace(phoneNumber, @"\D", "");
|
|
|
|
if (cleaned.Length == 11 && (cleaned[0] == '7' || cleaned[0] == '8'))
|
|
{
|
|
return $"+7 {cleaned.Substring(1, 3)} {cleaned.Substring(4, 3)} {cleaned.Substring(7, 2)} {cleaned.Substring(9, 2)}";
|
|
}
|
|
|
|
return phoneNumber;
|
|
}
|
|
}
|