| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- local TitleListItemCtr = {}
- function TitleListItemCtr:SetData(wnd, item, logicData)
- local titleId = logicData.titleId
- local state = logicData.state
- local titleCfgData = ManagerContainer.CfgMgr:GetDesignationCfgById(titleId)
- if not titleCfgData then
- LogError("titleCfgData is not exist by TitleListItemCtr")
- return
- end
- item.taskDsc.text.text = I18N.T(titleCfgData.TaskConditionDesc)
- item.target:SetActive(state == 1 and titleCfgData.IfShowTaskNum == 1)
- item.target.text.text = logicData.currCount.."/"..logicData.totalCount
- if state > 2 and titleCfgData.Time > 0 then --称号卸下状态(即已激活)并为时限称号 则显示剩余时间
- local servertime = ManagerContainer.LuaTimerMgr:CurLuaServerTime()
- local time = (logicData.endTime - (servertime/1000))/60/60
- time = type(time) == "number" and time or #time
- if time <= 0 then
- item.timeLimit.text.text = I18N.SetLanguageValue("LessOneHour")
- else
- local h = math.floor(time % 24)
- local d = math.floor(time / 24)
- item.timeLimit.text.text = I18N.SetLanguageValue("DesignationTime",d,h)
- end
- else
- item.timeLimit.text.text = I18N.T(titleCfgData.TimeDesc)
- end
- item.btnEquip:SetActive(state == 4)
- item.btnActive:SetActive(state == 2)
- local parent = item.btnActive.transform
- local redPoint = parent:Find("redPoint")
- if redPoint then
- redPoint.gameObject:SetActive(state == 2)
- else
- if state == 2 then
- self:CreateRP(parent, redPoint, "redPoint", "Common/UIRedPointRP")
- end
- end
- item.btnRemove:SetActive(state == 3)
- item.equipLight:SetActive(state == 3)
- item.mask:SetActive(state == 1)
- CommonUtil.LoadIcon(wnd, titleCfgData.ChatSource, function (sprite)
- item.titleImg.image.sprite = sprite
- end)
- item.property1:SetActive(false)
- item.property2:SetActive(false)
- local attrs = titleCfgData.Attribute
- if attrs and #attrs > 0 then
- for i = 1, #attrs do
- if item["property"..i] and item["PropertyText"..i] then
- item["property"..i]:SetActive(true)
- item["property"..i].text.text = I18N.SetLanguageValue("Attr_"..attrs[i][1])
- item["PropertyText"..i].text.text = CommonUtil.HeroAttrFormatValue(attrs[i][1], attrs[i][2])
- end
- end
- end
-
- wnd.uiBase:AddButtonUniqueEventListener(item.btnEquip.button, wnd, wnd.OnBtnEquipClick, logicData)
- wnd.uiBase:AddButtonUniqueEventListener(item.btnActive.button, wnd, wnd.OnBtnActiveClick, logicData)
- wnd.uiBase:AddButtonUniqueEventListener(item.btnRemove.button, wnd, wnd.OnBtnRemoveClick, logicData)
- end
- function TitleListItemCtr:CreateRP(parent, redPoint, name, path)
- local go = ManagerContainer.ResMgr:GetGoFromPool(Constants.UIPath, path)
- if go then
- redPoint = go.transform
- redPoint:SetParent(parent)
- redPoint.localRotation = Quaternion.identity
- redPoint.localScale = Vector3.one
- local rectTransform = redPoint:GetComponent(Enum.TypeInfo.RectTransform)
- rectTransform.anchoredPosition3D = Vector3(90, 35, 0)
- go.name = name
- end
- end
- return TitleListItemCtr
|