ClanCreateView.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. using System.Collections;
  4. public class ClanCreateView : View {
  5. public Text nameLabel;
  6. public Text descLabel;
  7. public InputField nameInput;
  8. public InputField descInput;
  9. public Text createLabel;
  10. private ClanData clanData;
  11. void Start()
  12. {
  13. nameLabel.text = Language.GetStr ("ClanPanel", "nameLabel");
  14. descLabel.text = Language.GetStr ("ClanPanel", "descLabel");
  15. nameInput.onValidateInput += StringUtil.InputValidateHandler;
  16. descInput.onValidateInput += StringUtil.InputValidateHandler;
  17. }
  18. protected override void OnVisibleChanged ()
  19. {
  20. base.OnVisibleChanged ();
  21. if (visible) {
  22. clanData = null;
  23. int clanId = Session.GetInstance ().myUserData.clanId;
  24. if (clanId <= 0) {
  25. createLabel.text = Language.GetStr ("ClanPanel", "create");
  26. nameInput.text = "";
  27. descInput.text = "";
  28. }
  29. else {
  30. createLabel.text = Language.GetStr ("ClanPanel", "edit");
  31. ClanManager.GetInstance ().GetClan (clanId, (ClanData data) => {
  32. clanData = data;
  33. nameInput.text = clanData.name;
  34. descInput.text = clanData.description;
  35. });
  36. }
  37. }
  38. }
  39. protected override void OnDestroy ()
  40. {
  41. base.OnDestroy ();
  42. nameInput.onValidateInput -= StringUtil.InputValidateHandler;
  43. descInput.onValidateInput -= StringUtil.InputValidateHandler;
  44. }
  45. public void Clear()
  46. {
  47. nameInput.text = descInput.text = "";
  48. }
  49. public void OnNameChanged()
  50. {
  51. nameInput.text = StringUtil.LimitInput (nameInput.text, Config.MAX_ARRAY_NAME_LENGTH);
  52. }
  53. public void OnDescChanged()
  54. {
  55. descInput.text = StringUtil.LimitInput (descInput.text, Config.MAX_ARRAY_DESC_LENGTH);
  56. }
  57. public void ClickCreate()
  58. {
  59. if(nameInput.text.Length == 0)
  60. {
  61. AlertPanel.Show (Language.GetStr("ClanPanel", "emptyName"));
  62. return;
  63. }
  64. int clanId = Session.GetInstance ().myUserData.clanId;
  65. if(clanId <= 0)
  66. {
  67. ClanRequest request = ClanRequest.Create (nameInput.text, descInput.text, ClanData.Limit.Anyone);
  68. request.ResultEvent.AddListener((bool success, LitJson.JsonData data) => {
  69. if(success)
  70. {
  71. Session.GetInstance().myUserData.clanId = JsonUtil.ToInt(data);
  72. ClanPanel.ShowClanInfo(Session.GetInstance().myUserData.clanId);
  73. Session.GetInstance().GetBattleSession().GetMessageManager().ClanJoin();
  74. }
  75. });
  76. }
  77. else
  78. {
  79. ClanRequest request = ClanRequest.Edit (nameInput.text, descInput.text, ClanData.Limit.Anyone);
  80. request.ResultEvent.AddListener((bool success, LitJson.JsonData data) => {
  81. if(success)
  82. {
  83. if(clanData != null)
  84. {
  85. clanData.name = nameInput.text;
  86. clanData.description = descInput.text;
  87. clanData.limit = ClanData.Limit.Anyone;
  88. }
  89. ClanPanel.ShowClanInfo(clanId);
  90. }
  91. });
  92. }
  93. }
  94. }