local baseCell = autoImport("BaseCell") ChatRoomSystemCell = reusableClass("ChatRoomSystemCell",baseCell) ChatRoomSystemCell.PoolSize = 60 ChatRoomSystemCell.rid = ResourcePathHelper.UICell("ChatRoomSystemCell") function ChatRoomSystemCell:Construct(asArray, args) self._alive = true self:DoConstruct(asArray, args) end function ChatRoomSystemCell:Deconstruct() self._alive = false self.data = nil Game.GOLuaPoolManager:AddToChatPool(self.gameObject) end function ChatRoomSystemCell:Alive() return self._alive end -- override begin function ChatRoomSystemCell:DoConstruct(asArray, args) self.parent = args if self.gameObject == nil then self:CreateSelf(self.parent) self:FindObjs() else self.gameObject = Game.GOLuaPoolManager:GetFromChatPool(self.gameObject,self.parent) end end function ChatRoomSystemCell:Finalize() ChatRoomSystemCell.super.ClearEvent(self) GameObject.Destroy(self.gameObject) end function ChatRoomSystemCell:ClearEvent() end -- override end function ChatRoomSystemCell:CreateSelf(parent) if parent then self.gameObject = self:CreateObj(ChatRoomSystemCell.rid,parent) end end function ChatRoomSystemCell:FindObjs() self.SystemMessage = self.gameObject:GetComponent(UILabel) self.top = self:FindGO("Top"):GetComponent(UIWidget) end local text,contents function ChatRoomSystemCell:SetData(data) self.data = data self.gameObject:SetActive(data ~= nil) if data ~= nil then -- local params = data:GetStr().params -- local content = data:GetStr().content -- local text = params and MsgParserProxy.Instance:TryParse(content,unpack(params)) or content text = data:GetStr() --MsgParserProxy.Instance:ReplaceIconInfo(data:GetStr()) contents = text.."\n" local color = ChatRoomProxy.Instance.channelColor[data:GetChannel()] if color then contents = color..text.."[-]\n" end self.SystemMessage.text = contents end end