using UnityEngine; using UnityEngine.UI; using UnityEngine.Events; using System; using System.Collections; using System.Collections.Generic; public class ManaNickName : Regist { public static Action SetNickNameAction; 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() { ManaReso.SetText("T_Tit", Language.GetStr("UI", "T_Tit")); ManaReso.Get ("C_Main").TweenBacCG (); ManaReso.Get ("T_NickNameBK").TweenForCG (); } public static void CloseNickNameSettingPanel() { ManaAudio.PlayClip(Clip.CloseClip); ManaReso.Get ("C_Main").TweenForCG (); ManaReso.Get ("T_NickNameBK").TweenBacCG (); } public static void ResetNickName() { ManaReso.SetText("T_Tit", Language.GetStr("UI", "T_Checking")); ManaReso.Get("T_NickNameBK").interactable = false; if (InputFieldValidate ()) { ManaServer.SetNickName ( inputField.text, SetNickNameAction, ResetSucceed, ResetFailed ); } else { 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; if (!ManaTutorial.TutorialA) { Bubble.Show(null, Language.GetStr("UI", "T_RepeatName")); } } public static void ResetSucceed() { ManaReso.Get("T_NickNameBK").interactable = true; SetNickName(inputField.text); CloseNickNameSettingPanel(); } 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 { ManaAudio.PlayClip(Clip.CloseClip); return true; } } } }