126 lines
5.2 KiB
Lua
126 lines
5.2 KiB
Lua
ItemUpstarPre = {}
|
|
local itemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig)
|
|
function ItemUpstarPre:New(gameObject)
|
|
local b = {}
|
|
b.gameObject = gameObject
|
|
b.transform = gameObject.transform
|
|
setmetatable(b, { __index = ItemUpstarPre })
|
|
return b
|
|
end
|
|
|
|
--初始化组件(用于子类重写)
|
|
function ItemUpstarPre:InitComponent()
|
|
self.upLayout = Util.GetGameObject(self.gameObject,"Content/upLayout")
|
|
self.midLayout = Util.GetGameObject(self.gameObject,"Content/middleLayout")
|
|
self.btnExchange = Util.GetGameObject(self.midLayout,"btnBuy")
|
|
self.btnText = Util.GetGameObject(self.btnExchange,"Text"):GetComponent("Text")
|
|
self.btnRed = Util.GetGameObject(self.btnExchange,"redPoint")
|
|
self.info = Util.GetGameObject(self.midLayout,"info"):GetComponent("Text")
|
|
self.gridList ={}
|
|
self.gridList[1] = Util.GetGameObject(self.midLayout,"itemNeed/item")
|
|
self.gridList[2] = Util.GetGameObject(self.midLayout,"itemCost/item")
|
|
self.gridList[3] = Util.GetGameObject(self.midLayout,"itemGet/item")
|
|
self.btnMaskNeed = Util.GetGameObject(self.midLayout,"itemNeed/mask")
|
|
self.btnMaskGet = Util.GetGameObject(self.midLayout,"itemGet/mask")
|
|
self.btnMaskNeedAdd = Util.GetGameObject(self.midLayout,"itemNeed/mask/Image")
|
|
self.effect = Util.GetGameObject(self.gameObject,"UI_Effect_MianBan_LiBao_button_01")
|
|
end
|
|
|
|
--绑定事件(用于子类重写)
|
|
function ItemUpstarPre:BindEvent()
|
|
Util.AddOnceClick(self.btnMaskNeed,function ()
|
|
UIManager.OpenPanel(UIName.GeneralPopup,GENERAL_POPUP_TYPE.YunYouMan,self.data,function ()
|
|
self:Refresh()
|
|
end)
|
|
end)
|
|
Util.AddOnceClick(self.btnExchange,function ()
|
|
if self.data.otherData.selectId == 0 then
|
|
PopupTipPanel.ShowTip(Language[12302])
|
|
return
|
|
end
|
|
local cost = ConfigManager.GetConfigData(ConfigName.ComposeBook,self.data.otherData.selectId).NeedCost
|
|
NetManager.EquipUpLevelRequest(self.actData.activityId,self.data.otherData.selectId,cost[1][1],cost[1][2],function (msg)
|
|
UIManager.OpenPanel(UIName.RewardItemPopup, msg.drop, 1,function()
|
|
self.parent:RefreshData(true,true,false)
|
|
end)
|
|
end)
|
|
end)
|
|
end
|
|
|
|
--添加事件监听(用于子类重写)
|
|
function ItemUpstarPre:AddListener()
|
|
end
|
|
|
|
--移除事件监听(用于子类重写)
|
|
function ItemUpstarPre:RemoveListener()
|
|
|
|
end
|
|
function ItemUpstarPre:OnOpen()
|
|
end
|
|
|
|
function ItemUpstarPre:SetData(_data,_parent,_sortingOrder,_actData,_actConfig)
|
|
self.data = _data
|
|
self.parent = _parent
|
|
self.sortingOrder = _sortingOrder
|
|
self.actData = _actData
|
|
self.actConfig = _actConfig
|
|
self:Refresh()
|
|
end
|
|
|
|
function ItemUpstarPre:Refresh()
|
|
-- LogPink("self.data.missionId.:"..tostring(self.data.missionId).." #self.data.otherData.needItems:"..tostring(#self.data.otherData.needItems))
|
|
local needItemId = self.data.otherData.selectId == 0 and self.data.otherData.needItems[1] or self.data.otherData.selectId
|
|
local configData = ConfigManager.GetConfigData(ConfigName.ComposeBook,needItemId)
|
|
local rewardList = {configData.NeedItems[1],configData.NeedCost[1],configData.GoalItems[1]}
|
|
--设置内容
|
|
if not self.itemList then
|
|
self.itemList = {}
|
|
end
|
|
for i = 1, #rewardList do
|
|
if not self.itemList[i] then
|
|
self.itemList[i] = SubUIManager.Open(SubUIConfig.ItemView,self.gridList[i].transform)
|
|
end
|
|
-- LogRed("id="..self.data.missionId..", sort="..self.sortingOrder)
|
|
self.itemList[i]:OnOpen(false, rewardList[i], 1,false,false,false,self.sortingOrder)
|
|
end
|
|
self:SetMask()
|
|
self:SetButton()
|
|
Util.SetParticleSortLayer(self.effect, self.sortingOrder or 0)
|
|
self.effect:SetActive(CommonActPageManager.CheckSingleRed(self.data))
|
|
end
|
|
|
|
function ItemUpstarPre:SetMask()
|
|
if self.data.otherData.selectId == 0 then
|
|
self.btnMaskNeedAdd:SetActive(true)
|
|
self.btnMaskGet:SetActive(not self.data.otherData.IsShowItem)
|
|
Util.GetGameObject(self.itemList[1].gameObject,"effects"):SetActive(false)
|
|
Util.GetGameObject(self.itemList[1].gameObject,"item/icon"):SetActive(false)
|
|
Util.GetGameObject(self.itemList[3].gameObject,"effects"):SetActive(false)
|
|
Util.GetGameObject(self.itemList[3].gameObject,"item/icon"):SetActive(self.data.otherData.IsShowItem)
|
|
else
|
|
self.btnMaskNeedAdd:SetActive(false)
|
|
self.btnMaskGet:SetActive(false)
|
|
Util.GetGameObject(self.itemList[1].gameObject,"effects"):SetActive(true)
|
|
Util.GetGameObject(self.itemList[1].gameObject,"item/icon"):SetActive(true)
|
|
Util.GetGameObject(self.itemList[3].gameObject,"effects"):SetActive(true)
|
|
Util.GetGameObject(self.itemList[3].gameObject,"item/icon"):SetActive(true)
|
|
end
|
|
end
|
|
|
|
function ItemUpstarPre:SetButton()
|
|
self.info.text = string.format(Language[12303],self.data.progress)
|
|
local bool = self.data.progress == 0
|
|
self.btnText.text = bool and Language[12304] or Language[12305]
|
|
Util.SetGray(self.btnExchange,bool)
|
|
self.btnExchange:GetComponent("Button").interactable = not bool
|
|
end
|
|
|
|
function ItemUpstarPre:OnClose()
|
|
self.data.otherData.selectId = 0
|
|
self.gridList = {}
|
|
for k,v in pairs(self.itemList) do
|
|
SubUIManager.Close(v)
|
|
end
|
|
end
|
|
|
|
return ItemUpstarPre |