| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- local DiffTaskItemCtr ={}
- function DiffTaskItemCtr:SetData(wnd, itemlua, logicData, enterType, onClickOwner, onClickCB, params)
- --LogError("---------------"..itemlua:getClassName().."----------------"..Inspect(logicData))
- self:InitUI(wnd, itemlua, logicData, enterType, onClickOwner, onClickCB, params)
- self:SetItemsData(itemlua, logicData)
- self:SetBtns(itemlua, logicData)
-
- end
- function DiffTaskItemCtr:SetItemsData(itemlua,logicData)
- itemlua.goodsItems.loopHorizontalScrollRect:ClearCells()
- itemlua.goodsItems.loopHorizontalScrollRect:ClearAnchoredPostion()
- local datalist = self:GetReward(logicData._cfgData.Reward)
- --local datalist = self:GetReward({{100,100},{110,50},{47,1000000},{529,5}})
- itemlua.goodsItems.loopHorizontalScrollRect.horizontal = #datalist > 3
- CommonUtil.LoopGridViewEleCreateNew(self,
- itemlua.goodsItems.loopHorizontalScrollRect,
- itemlua.content.horizontalLayoutGroup,
- datalist,
- 0,
- self,
- self.UpdateItem,
- nil,nil,0);
- end
- function DiffTaskItemCtr:UpdateItem(_itemLua, _idx,_data)
- if not _itemLua or not _data then return end
- CommonUtil.UpdateItemPrefab(self, _itemLua, _data, Enum.ItemIEnterType.Bag)
- end
- function DiffTaskItemCtr:InitUI(wnd, itemlua, logicData, enterType, onClickOwner, onClickCB, params)
- itemlua.itemName.text.text = I18N.T("DiffTaskTitleTxt")
- itemlua.descTxt.text.text = ManagerContainer.DataMgr.HardMissionDataMgr:GetConditionTxt(logicData)
- wnd.uiBase:AddButtonUniqueEventListener(itemlua.getBtn.button,onClickOwner,onClickCB,logicData)
- wnd.uiBase:AddButtonEventListener(itemlua.btnGoto.button,onClickOwner,wnd.OnClickJump)
- end
- function DiffTaskItemCtr:GetReward(rewards)
- local datalist = {}
- if rewards then
- local reward
- for i = 1, #rewards do
- reward = rewards[i]
- datalist[i] = {cfgId = reward[1], num = reward[2]}
- end
- end
- return datalist
- end
- function DiffTaskItemCtr:SetBtns(itemlua,logicData)
- if logicData ~= nil then
- --local isNeedShow = logicData._got == 1 or logicData._got == 0
- local got = logicData._got
- itemlua.btnGoto:SetActive(got == 0)
- itemlua.getBtn:SetActive(got == 1)
- itemlua.sealBtn:SetActive(got == 2)
- --itemlua.getBtn.button.interactable = logicData._got == 1
- else
- itemlua.btnGoto:SetActive(false)
- itemlua.getBtn:SetActive(false)
- itemlua.sealBtn:SetActive(false)
- end
- end
- return DiffTaskItemCtr
|