UIGuildChangeNameView.lua 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. local UIGuildChangeNameView = require("UIGuild/UIGuildChangeNameView_Generate")
  2. function UIGuildChangeNameView:OnAwake(data)
  3. self.controller = require("UIGuild/UIGuildChangeNameCtr"):new()
  4. self.controller:Init(self)
  5. self.controller:SetData(data)
  6. end
  7. function UIGuildChangeNameView:AddEventListener()
  8. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.GUILD_NAME_CHANGED, self, self.OnGuildNameChanged)
  9. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.GUILD_DISBAND_SUCCESS, self, self.OnGuildDisBandSuccess)
  10. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.GUILD_QUIT_SUCCESS, self, self.OnGuildQuitSuccess)
  11. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.GUILD_KICKOUT_SUCCESS, self, self.OnGuildKickoutSuccess)
  12. end
  13. function UIGuildChangeNameView:FillContent(data, uiBase)
  14. self.uiBase = uiBase
  15. local gameObject = self.uiBase:GetRoot()
  16. if gameObject ~= nil then
  17. self.gameObject = gameObject
  18. self.transform = gameObject.transform
  19. end
  20. self:InitGenerate(self.transform, data)
  21. self:Init()
  22. end
  23. function UIGuildChangeNameView:Init()
  24. self.input.inputField.text = tostring(self.controller:GetCurName())
  25. local _, costNum = self.controller:GetCostInfo()
  26. self.costTxt.text.text = tostring(costNum)
  27. end
  28. function UIGuildChangeNameView:RemoveEventListener()
  29. ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
  30. self.input.inputField.onValidateInput = nil
  31. self.input.inputField.onEndEdit:RemoveAllListeners()
  32. end
  33. function UIGuildChangeNameView:AddUIEventListener()
  34. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name)
  35. self.uiBase:AddButtonUniqueEventListener(self.AnyBtn.button, self, self.OnClickCloseBtn)
  36. self.uiBase:AddButtonUniqueEventListener(self.btnClose.button, self, self.OnClickCloseBtn)
  37. self.uiBase:AddButtonUniqueEventListener(self.cancelBtn.button, self, self.OnClickCancelBtn)
  38. self.uiBase:AddButtonUniqueEventListener(self.saveBtn.button, self, self.OnClickSaveBtn)
  39. self.input.inputField.onValidateInput = self.input.inputField.OnValidateInput(self.OnValidateInput, self)
  40. self.input.inputField.onEndEdit:RemoveAllListeners()
  41. self.input.inputField.onEndEdit:AddListener(function(text)
  42. self:OnEndEditInput(text)
  43. end)
  44. end
  45. function UIGuildChangeNameView:OnHide()
  46. end
  47. function UIGuildChangeNameView:OnShow(data)
  48. self.controller:SetData(data)
  49. end
  50. function UIGuildChangeNameView:OnClose()
  51. end
  52. function UIGuildChangeNameView:OnDispose()
  53. self.controller:OnDispose()
  54. end
  55. function UIGuildChangeNameView:OnGuildNameChanged()
  56. if not self.input.inputField.isFocused then
  57. self.input.inputField.text = tostring(self.controller:GetCurName())
  58. end
  59. end
  60. function UIGuildChangeNameView:OnGuildDisBandSuccess()
  61. self:UIClose()
  62. end
  63. function UIGuildChangeNameView:OnGuildQuitSuccess()
  64. self:UIClose()
  65. end
  66. function UIGuildChangeNameView:OnGuildKickoutSuccess()
  67. self:UIClose()
  68. end
  69. function UIGuildChangeNameView:OnClickCloseBtn()
  70. self:UIClose()
  71. end
  72. function UIGuildChangeNameView:OnClickCancelBtn()
  73. self:UIClose()
  74. end
  75. function UIGuildChangeNameView:OnClickSaveBtn()
  76. local text = self.input.inputField.text
  77. if not text then
  78. return
  79. end
  80. local len = GetActualStringLength(text)
  81. local min = self.controller:GetNameLengthMin()
  82. local max = self.controller:GetNameLengthMax()
  83. if len < min or len > max then
  84. return
  85. end
  86. local errorCode = self.controller:SendGuildChangeNameReq()
  87. if errorCode == 0 then
  88. self:UIClose()
  89. else
  90. ManagerContainer.LuaUIMgr:ErrorNoticeDisplay(errorCode)
  91. end
  92. end
  93. function UIGuildChangeNameView:OnValidateInput(text, charIndex, addedChar)
  94. local curLen = 0
  95. if addedChar >= 48 and addedChar <= 57 then -- 0-9
  96. curLen = 1
  97. elseif addedChar >= 65 and addedChar <= 90 then -- A-Z
  98. curLen = 1
  99. elseif addedChar >= 97 and addedChar <= 122 then -- a-z
  100. curLen = 1
  101. elseif addedChar >= 0x4E00 and addedChar <= 0x9FA5 then -- 中文字
  102. curLen = 1
  103. end
  104. if curLen <= 0 then return 0 end
  105. local len = GetActualStringLength(text) + curLen
  106. local max = self.controller:GetNameLengthMax()
  107. if len > max then return 0 end
  108. return addedChar
  109. end
  110. function UIGuildChangeNameView:OnEndEditInput(text)
  111. self.controller:SetChangedName(text)
  112. end
  113. return UIGuildChangeNameView