using UnityEngine; using UnityEngine.UI; using UnityEngine.Events; using System; using System.Collections; using System.Collections.Generic; public class ManaNickName : Regist { public static Action OnSetNickNameSucceed; public static string NickName; public static InputField inputField; public override void RegistValueA() { SetNickName (ManaData.GetPlayerString ("NickName")); inputField = ManaReso.Get ("T_InputField"); } public static bool ShowNickNameSettingPanelFirstTime() { if (!string.IsNullOrEmpty (NickName)) return false; ShowNickNameSettingPanel(); return true; } public static void ShowNickNameSettingPanel() { if (string.IsNullOrEmpty(NickName)) { ManaReso.SetActive("T_Close", false); } else { ManaReso.SetActive("T_Close", true); inputField.text = NickName; } ManaReso.SetText("T_Tit", Language.GetStr("UI", "T_Tit")); if (!ManaTutorial.TutorialPlazaRoom && !ManaTutorial.TutorialC && !ManaTutorial.TutorialD) { ManaReso.Get("C_Main").TweenBacCG(); } ManaReso.Get ("T_NickNameBK").TweenForCG (); } public static void CloseNickNameSettingPanel() { ManaReso.Get ("C_Main").TweenForCG (); ManaReso.Get ("T_NickNameBK").TweenBacCG (); } public static void ResetNickName() { if (inputField.text == NickName) { ResetSucceed(); return; } ManaReso.SetText("T_Tit", Language.GetStr("UI", "T_Checking")); ManaReso.Get("T_NickNameBK").interactable = false; if (InputFieldValidate ()) { ManaServer.SetNickName ( inputField.text, ResetSucceed, ResetFailed ); } else { ManaReso.SetText("T_Tit", Language.GetStr("UI", "T_Tit")); ManaReso.Get("T_NickNameBK").interactable = true; } } public static void ResetFailed() { ManaReso.SetText("T_Tit", Language.GetStr("UI", "T_Tit")); ManaReso.Get("T_NickNameBK").interactable = true; Bubble.Show(null, Language.GetStr("UI", "T_RepeatName")); } public static void ResetSucceed() { ManaReso.Get("T_NickNameBK").interactable = true; SetNickName(inputField.text); ManaAudio.PlayClip(Clip.CloseClip); CloseNickNameSettingPanel(); OnSetNickNameSucceed.SafeInvoke(); } public static void SetNickName(string nickName) { NickName = nickName; ManaData.SavePlayerString ("NickName", nickName); ManaReso.SetText ("C_NickNameLab", nickName); } public static bool InputFieldValidate() { inputField.text = inputField.text.Trim(); int charCnt = 0; for (int i = 0; i < inputField.text.Length; i++) { if (inputField.text[i] <= 127) { charCnt++; } else if (inputField.text[i] > 127) { charCnt += 2; } } if (charCnt == 0) { Bubble.Show(null, Language.GetStr("UI", "T_AllWhiteSpace")); return false; } else if (charCnt > 12) { Bubble.Show(null, Language.GetStr("UI", "T_TooLong")); inputField.text = inputField.text.Substring(0, 12); return false; } else { if (StringFilter.ContainSensitiveWord(inputField.text)) { Bubble.Show(null, Language.GetStr("Common", "ContainSensitiveWord")); return false; } else { return true; } } } }