KLInViteFriendPanel.lua 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. ---@class KLInViteFriendPanel:UIKmlLuaPanelBase
  2. ---@field view KLInViteFriendPanelView
  3. local KLInViteFriendPanel = class(UIKmlLuaPanelBase)
  4. local this =KLInViteFriendPanel
  5. ---创建时调用一次
  6. function this:Init()
  7. end
  8. ---创建或者刷新界面数据时调用
  9. function this:Refresh()
  10. local leftNum = SL:GetMetaValue(EMetaVarGetKey.GET_LEFT_GENERATE_INVITE_CODE_COUNT)
  11. GUI:Text_setString(self.view.Num,"可用数量:<color=#2A8430>".. leftNum .."</color>")
  12. end
  13. ---注册UI事件和服务器消息
  14. function this:RegistEvents()
  15. GUI:AddOnClickEvent(self.view.CopyBtn,self,self.CopyBtnOnClick)
  16. GUI:AddOnClickEvent(self.view.GenerateBtn,self,self.GenerateBtnOnClick)
  17. SL:RegisterLuaNetMsg(MessageDef.ResCreateInviteCodeMessage,self.ResCreateInviteCodeMessage,self)
  18. end
  19. function this:CopyBtnOnClick()
  20. if not self.code then
  21. SL:CopyInviteCode(self.code)
  22. end
  23. end
  24. function this:GenerateBtnOnClick()
  25. local leftNum = SL:GetMetaValue(EMetaVarGetKey.GET_LEFT_GENERATE_INVITE_CODE_COUNT)
  26. if leftNum > 0 then
  27. SL:ReqCreateInviteCodeMessage()
  28. else
  29. SL:MessageTip({"剩余次数不足",1,NoticeType.NoticeMid})
  30. end
  31. end
  32. ---@param message UserProtos.InviteCodeRes
  33. function this:ResCreateInviteCodeMessage(_, message)
  34. local leftNum = SL:GetMetaValue(EMetaVarGetKey.GET_LEFT_GENERATE_INVITE_CODE_COUNT)
  35. leftNum = leftNum - 1
  36. self.code = message.code
  37. SL:SetMetaValue(EMetaVarSetKey.GET_LEFT_GENERATE_INVITE_CODE_COUNT,leftNum)
  38. GUI:Text_setString(self.view.CodeTxt,message.code)
  39. GUI:Text_setString(self.view.Num,"可用数量:<color=#2A8430>".. leftNum .."</color>")
  40. end
  41. function this:Close()
  42. self.code = nil
  43. end
  44. return this