---@class KLInViteFriendPanel:UIKmlLuaPanelBase ---@field view KLInViteFriendPanelView local KLInViteFriendPanel = class(UIKmlLuaPanelBase) local this =KLInViteFriendPanel ---创建时调用一次 function this:Init() end ---创建或者刷新界面数据时调用 function this:Refresh() local leftNum = SL:GetMetaValue(EMetaVarGetKey.GET_LEFT_GENERATE_INVITE_CODE_COUNT) GUI:Text_setString(self.view.Num,"可用数量:".. leftNum .."") end ---注册UI事件和服务器消息 function this:RegistEvents() GUI:AddOnClickEvent(self.view.CopyBtn,self,self.CopyBtnOnClick) GUI:AddOnClickEvent(self.view.GenerateBtn,self,self.GenerateBtnOnClick) SL:RegisterLuaNetMsg(MessageDef.ResCreateInviteCodeMessage,self.ResCreateInviteCodeMessage,self) end function this:CopyBtnOnClick() if not self.code then SL:CopyInviteCode(self.code) end end function this:GenerateBtnOnClick() local leftNum = SL:GetMetaValue(EMetaVarGetKey.GET_LEFT_GENERATE_INVITE_CODE_COUNT) if leftNum > 0 then SL:ReqCreateInviteCodeMessage() else SL:MessageTip({"剩余次数不足",1,NoticeType.NoticeMid}) end end ---@param message UserProtos.InviteCodeRes function this:ResCreateInviteCodeMessage(_, message) local leftNum = SL:GetMetaValue(EMetaVarGetKey.GET_LEFT_GENERATE_INVITE_CODE_COUNT) leftNum = leftNum - 1 self.code = message.code SL:SetMetaValue(EMetaVarSetKey.GET_LEFT_GENERATE_INVITE_CODE_COUNT,leftNum) GUI:Text_setString(self.view.CodeTxt,message.code) GUI:Text_setString(self.view.Num,"可用数量:".. leftNum .."") end function this:Close() self.code = nil end return this