ChatChannelToggleItem = ChatChannelToggleItem or BaseClass(BaseItem) function ChatChannelToggleItem:__init() self.base_file = "chat" self.layout_file = "ChatChannelToggleItem" self.model = ChatModel:getInstance() self.index = nil self.vo = nil self.text = nil self:Load() end function ChatChannelToggleItem:Load_callback() self.nodes = { "line:obj", "Label:tmp", } self:GetChildren(self.nodes) --self.label_txt = self:GetChild("Label"):GetComponent("Text") self.toggle = self.transform:GetComponent("Toggle") if self.need_refreshData then self:SetData() end local function onClick() local limit_way_list = self.model.limit_way_list if self.toggle.isOn then local isHas = false for k,v in pairs(limit_way_list) do if v == self.index then isHas = true end end if isHas == false then table.insert(limit_way_list,self.index) end else for k,v in pairs(limit_way_list) do if v == self.index then table.remove(limit_way_list,k) end end end end AddClickEvent(self.gameObject,onClick) end --获取发送人为自己的信息 function ChatChannelToggleItem:SetData(txt,index, is_last) self.text = txt or self.text self.index = index or self.index self.is_last = is_last or self.is_last if self.is_loaded then self.Label_tmp.text = self.text--self.vo local isToggle = false for k,v in pairs(self.model.limit_way_list) do if v == self.index then isToggle = true end end self.toggle.isOn = isToggle if self.is_last then self.line_obj:SetActive(false) else self.line_obj:SetActive(true) end else self.need_refreshData = true end end function ChatChannelToggleItem:SetSelect(bool) -- if bool then -- self.select:SetActive(true) -- else -- self.select:SetActive(false) -- end end