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