ManaNickName.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. using UnityEngine.Events;
  4. using System.Collections;
  5. using System.Collections.Generic;
  6. public class ManaNickName : Regist
  7. {
  8. public static UnityAction ValidateSucceedAction;
  9. public static string NickName;
  10. public static InputField inputField;
  11. public override void RegistValueA ()
  12. {
  13. SetNickName (ManaData.GetPlayerString ("NickName"));
  14. inputField = ManaReso.Get<InputField> ("T_InputField");
  15. }
  16. public static bool ShowNickNameSettingPanelFirstTime()
  17. {
  18. if (!string.IsNullOrEmpty (NickName))
  19. return false;
  20. ShowNickNameSettingPanel ();
  21. return true;
  22. }
  23. public static void ShowNickNameSettingPanel()
  24. {
  25. ManaReso.Get ("C_Main").TweenBacCG ();
  26. ManaReso.Get ("T_NickNameBK").TweenForCG ();
  27. }
  28. public static void CloseNickNameSettingPanel()
  29. {
  30. ManaReso.Get ("C_Main").TweenForCG ();
  31. ManaReso.Get ("T_NickNameBK").TweenBacCG ();
  32. }
  33. public static void ResetNickName()
  34. {
  35. if (InputFieldValidate ()) {
  36. SetNickName (inputField.text);
  37. CloseNickNameSettingPanel ();
  38. }
  39. }
  40. public static void SetNickName(string nickName)
  41. {
  42. NickName = nickName;
  43. ManaData.SavePlayerString ("NickName", nickName);
  44. ManaReso.SetText ("C_NickNameLab", nickName);
  45. }
  46. public static bool InputFieldValidate()
  47. {
  48. inputField.text = inputField.text.Trim ();
  49. int charCnt = 0;
  50. for (int i = 0; i < inputField.text.Length; i++) {
  51. if (inputField.text [i] <= 127) {
  52. charCnt++;
  53. } else if (inputField.text [i] > 127) {
  54. charCnt += 2;
  55. }
  56. }
  57. if (charCnt == 0) {
  58. Bubble.Show (null, Language.GetStr("UI", "T_AllWhiteSpace"));
  59. return false;
  60. } else if (charCnt > 12) {
  61. Bubble.Show (null, Language.GetStr("UI", "T_TooLong"));
  62. inputField.text = inputField.text.Substring (0, 12);
  63. return false;
  64. } else {
  65. if (StringFilter.ContainSensitiveWord(inputField.text))
  66. {
  67. Bubble.Show(null, Language.GetStr("Common", "ContainSensitiveWord"));
  68. return false;
  69. }
  70. else
  71. {
  72. ValidateSucceedAction.SafeInvoke();
  73. ManaAudio.PlayClip(Clip.CloseClip);
  74. return true;
  75. }
  76. }
  77. }
  78. }