Files
back_cantanBuilding/Assets/Scripts/UI/Setting/PlayerNamePopupPanel.cs
2026-05-26 16:15:54 +08:00

79 lines
2.6 KiB
C#

using asap.core;
using game;
using GameCore;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class PlayerNamePopupPanel : MonoBehaviour
{
public Button btn_mask;
public Button btn_close;
public Button btn_save;
public TMP_InputField inputField;
TMP_Text text_name;
IChatService chatService;
private void Awake()
{
chatService = GContext.container.Resolve<IChatService>();
btn_mask = transform.Find("mask").GetComponent<Button>();
btn_close = transform.Find("btn_close").GetComponent<Button>();
btn_save = transform.Find("root/btn_submit/btn_green").GetComponent<Button>();
inputField = transform.Find("root/InputField_name").GetComponent<TMP_InputField>();
GContext.container.Resolve<GuideDataCenter>().InspectTriggerGuide("PlayerNamePopupPanel");
}
private void Start()
{
btn_mask.onClick.AddListener(() => { UIManager.Instance.DestroyUI(UITypes.PlayerNamePopupPanel); });
btn_close.onClick.AddListener(() => { UIManager.Instance.DestroyUI(UITypes.PlayerNamePopupPanel); });
btn_save.onClick.AddListener(OnClickSave);
}
public void Show(TMP_Text text_name)
{
this.text_name = text_name;
}
async void OnClickSave()
{
btn_save.enabled = false;
string nameInput = inputField.text;
if (string.IsNullOrEmpty(nameInput) || nameInput.Equals(text_name.text))
{
ToastPanel.Show(LocalizationMgr.GetText("UI_ToastPanel_14"));
}
else if (nameInput != nameInput.Trim())
{
ToastPanel.Show(LocalizationMgr.GetText("UI_ToastPanel_19"));
}
else if (nameInput.Length < 2)
{
ToastPanel.Show(LocalizationMgr.GetText("UI_ToastPanel_15"));
}
else
{
bool value = await chatService.TextAudit(nameInput);
if (value)
{
var result = await GContext.container.Resolve<IUserService>().ChangeDisplayName(nameInput);
if (result == nameInput)
{
if (text_name != null)
{
text_name.text = nameInput;
}
UIManager.Instance.DestroyUI(UITypes.PlayerNamePopupPanel);
return;
}
else
{
ToastPanel.Show(LocalizationMgr.GetText("UI_ToastPanel_19"));
}
}
else
{
ToastPanel.Show(LocalizationMgr.GetText("UI_ToastPanel_33"));
}
}
btn_save.enabled = true;
}
}