1234567891011121314151617181920212223242526272829303132333435363738394041 |
- ---@class KLTalkBtnPanel:UIKmlLuaPanelBase
- ---@field view KLTalkBtnPanelView
- local KLTalkBtnPanel = class(UIKmlLuaPanelBase)
- local this = KLTalkBtnPanel
- ---创建时调用一次
- function this:Init()
- GUI:SetActive(self.view.TalkPanel,false)
- end
- ---创建或者刷新界面数据时调用
- function this:Refresh()
- SL:RegisterLUAEvent(LUA_EVENT_NPC_ARRIVE_NEAR,this.LUA_EVENT_NPC_ARRIVE_NEAR,self)
- SL:RegisterLUAEvent(LUA_EVENT_NPC_LEAVE_NEAR,this.LUA_EVENT_NPC_LEAVE_NEAR,self)
- SL:RegisterLUAEvent(LUA_EVENT_MAPINFOCHANGE,this.LUA_EVENT_NPC_LEAVE_NEAR,self)
- end
- ---注册UI事件和服务器消息
- function this:RegistEvents()
- GUI:AddOnClickEvent(self.view.TalkBtn, self, function()
- SL:TalkToNpc(self.args.cfgid)
- end)
- end
- function this.CloseBtn()
- end
- function this:Close()
- SL:UnRegisterLUAEvent(LUA_EVENT_NPC_ARRIVE_NEAR,this.LUA_EVENT_NPC_ARRIVE_NEAR)
- SL:UnRegisterLUAEvent(LUA_EVENT_NPC_LEAVE_NEAR,this.LUA_EVENT_NPC_LEAVE_NEAR)
- end
- function this:LUA_EVENT_NPC_ARRIVE_NEAR(_,message)
- GUI:SetActive(self.view.TalkPanel,true)
- self.args=message
- end
- function this:LUA_EVENT_NPC_LEAVE_NEAR()
- GUI:SetActive(self.view.TalkPanel,false)
- end
- return this
|