local baseCell = autoImport("BaseCell") EngageDateCell = class("EngageDateCell", baseCell) function EngageDateCell:Init() self:FindObjs() self:AddCellClickEvent() end function EngageDateCell:FindObjs() self.bgColor = self:FindGO("BgColor"):GetComponent(GradientUISprite) self.name = self:FindGO("Name"):GetComponent(UILabel) self.date = self:FindGO("Date"):GetComponent(UILabel) self.pic = self:FindGO("Pic"):GetComponent(UITexture) self.bookedRoot = self:FindGO("BookedRoot") self.booked = self:FindGO("Booked"):GetComponent(UILabel) self.status = self:FindGO("Status"):GetComponent(UIMultiSprite) self.statusLabel = self:FindGO("Label", self.status.gameObject):GetComponent(UILabel) self.bookedCount = self:FindGO("BookedCount") end function EngageDateCell:SetData(data) self.data = data self.gameObject:SetActive(data ~= nil) if data then local config = GameConfig.Wedding.EngageDate[data.time.wday] if config ~= nil then local topColor = config.topColor if topColor ~= nil then local result, value = ColorUtil.TryParseHexString(topColor) if result then self.bgColor.gradientTop = value end end local bottomColor = config.bottomColor if bottomColor ~= nil then local result, value = ColorUtil.TryParseHexString(bottomColor) if result then self.bgColor.gradientBottom = value end end self.name.text = config.name self.date.text = string.format(ZhString.Wedding_EngageDateWday, data:GetDateString(), config.wday) PictureManager.Instance:SetWedding(config.picName, self.pic) end local weddingInfo = WeddingProxy.Instance:GetWeddingInfo() if weddingInfo ~= nil then local time = data.time local isWeddingTime = weddingInfo:IsWeddingTime(time.year, time.month, time.day) if isWeddingTime then local startData = weddingInfo:GetStartTimeData() local endData = weddingInfo:GetEndTimeData() self.bookedRoot:SetActive(true) self.booked.text = string.format(ZhString.Wedding_EngageBookedDate, startData.hour, endData.hour) else self.bookedRoot:SetActive(false) end else self.bookedRoot:SetActive(false) end local _Status = EngageDateData.Status if data.status == _Status.None then self.status.gameObject:SetActive(false) self.bookedCount:SetActive(data.count > 0) elseif data.status == _Status.Hot then self.status.gameObject:SetActive(true) self.bookedCount:SetActive(false) self.status.CurrentState = 0 self.statusLabel.effectColor = ColorUtil.ButtonLabelOrange self.statusLabel.text = ZhString.Wedding_EngageHot elseif data.status == _Status.Full then self.status.gameObject:SetActive(true) self.bookedCount:SetActive(false) self.status.CurrentState = 1 self.statusLabel.effectColor = ColorUtil.Red self.statusLabel.text = ZhString.Wedding_EngageFull end end end