sea-battle-vr/Assets/Scripts/Menu/NumberTechDisplay.cs
2026-06-11 11:19:22 +03:00

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 + 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;
}
}