miduo_client/Assets/ManagedResources/~Lua/Modules/NewActivity/ItemUpstarPre.lua

131 lines
5.7 KiB
Lua
Raw Normal View History

2021-05-11 17:03:09 +08:00
ItemUpstarPre = {}
2021-04-16 11:12:17 +08:00
local itemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig)
2021-12-30 16:29:37 +08:00
local ComposeBook = ConfigManager.GetConfig(ConfigName.ComposeBook)
2021-04-16 11:12:17 +08:00
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")
2021-04-19 15:43:25 +08:00
self.info = Util.GetGameObject(self.midLayout,"info"):GetComponent("Text")
2021-04-17 16:45:33 +08:00
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")
2021-04-19 11:38:35 +08:00
self.btnMaskNeedAdd = Util.GetGameObject(self.midLayout,"itemNeed/mask/Image")
2021-04-22 10:59:32 +08:00
self.effect = Util.GetGameObject(self.gameObject,"UI_Effect_MianBan_LiBao_button_01")
2021-04-16 11:12:17 +08:00
end
--绑定事件(用于子类重写)
function ItemUpstarPre:BindEvent()
2021-04-20 11:17:50 +08:00
Util.AddOnceClick(self.btnMaskNeed,function ()
2023-02-02 17:50:47 +08:00
-- UIManager.OpenPanel(UIName.GeneralPopup,GENERAL_POPUP_TYPE.YunYouMan,self.data,function ()
-- self:Refresh()
-- end)
2021-04-17 16:45:33 +08:00
end)
2021-04-20 11:17:50 +08:00
Util.AddOnceClick(self.btnExchange,function ()
if self.data.otherData.selectId == 0 then
2021-05-11 17:03:09 +08:00
PopupTipPanel.ShowTip(Language[12302])
2021-04-17 16:45:33 +08:00
return
end
2021-04-20 11:17:50 +08:00
local cost = ConfigManager.GetConfigData(ConfigName.ComposeBook,self.data.otherData.selectId).NeedCost
2021-04-27 17:05:53 +08:00
NetManager.EquipUpLevelRequest(self.actData.activityId,self.data.otherData.selectId,cost[1][1],cost[1][2],function (msg)
2021-04-19 15:43:25 +08:00
UIManager.OpenPanel(UIName.RewardItemPopup, msg.drop, 1,function()
2021-04-19 19:44:54 +08:00
self.parent:RefreshData(true,true,false)
2021-04-19 15:43:25 +08:00
end)
end)
2021-04-17 16:45:33 +08:00
end)
2021-04-16 11:12:17 +08:00
end
--添加事件监听(用于子类重写)
function ItemUpstarPre:AddListener()
end
--移除事件监听(用于子类重写)
function ItemUpstarPre:RemoveListener()
end
2021-04-17 14:01:12 +08:00
function ItemUpstarPre:OnOpen()
end
2021-04-27 17:05:53 +08:00
function ItemUpstarPre:SetData(_data,_parent,_sortingOrder,_actData,_actConfig)
2021-04-17 16:45:33 +08:00
self.data = _data
2021-04-16 16:21:34 +08:00
self.parent = _parent
2021-04-17 16:45:33 +08:00
self.sortingOrder = _sortingOrder
2021-04-27 17:05:53 +08:00
self.actData = _actData
self.actConfig = _actConfig
2021-04-17 16:45:33 +08:00
self:Refresh()
end
2021-04-17 14:01:12 +08:00
2021-12-30 16:29:37 +08:00
function ItemUpstarPre:Refresh()--ComposeBook[data.otherData.needItems[i]].NeedItems[1][1]
2021-04-20 11:17:50 +08:00
-- LogPink("self.data.missionId.:"..tostring(self.data.missionId).." #self.data.otherData.needItems:"..tostring(#self.data.otherData.needItems))
2023-02-02 17:50:47 +08:00
self.data.otherData.selectId=self.data.otherData.needItems[1]
2021-04-20 11:17:50 +08:00
local needItemId = self.data.otherData.selectId == 0 and self.data.otherData.needItems[1] or self.data.otherData.selectId
2021-04-17 16:45:33 +08:00
local configData = ConfigManager.GetConfigData(ConfigName.ComposeBook,needItemId)
local rewardList = {configData.NeedItems[1],configData.NeedCost[1],configData.GoalItems[1]}
2021-12-30 16:29:37 +08:00
-- LogGreen(tostring(configData.NeedItems[1][1]).." "..tostring(configData.NeedCost[1][1]).." "..tostring(configData.GoalItems[1][1]).." "..tostring(self.data.otherData.selectId))
2021-04-17 16:45:33 +08:00
--设置内容
2021-04-17 14:01:12 +08:00
if not self.itemList then
self.itemList = {}
end
2021-04-17 16:45:33 +08:00
for i = 1, #rewardList do
2021-04-17 14:01:12 +08:00
if not self.itemList[i] then
2021-04-17 16:45:33 +08:00
self.itemList[i] = SubUIManager.Open(SubUIConfig.ItemView,self.gridList[i].transform)
2021-04-17 14:01:12 +08:00
end
2021-04-19 19:44:54 +08:00
-- LogRed("id="..self.data.missionId..", sort="..self.sortingOrder)
2021-04-17 16:45:33 +08:00
self.itemList[i]:OnOpen(false, rewardList[i], 1,false,false,false,self.sortingOrder)
end
self:SetMask()
2021-04-19 15:43:25 +08:00
self:SetButton()
2021-04-22 10:59:32 +08:00
Util.SetParticleSortLayer(self.effect, self.sortingOrder or 0)
self.effect:SetActive(CommonActPageManager.CheckSingleRed(self.data))
2021-04-17 16:45:33 +08:00
end
function ItemUpstarPre:SetMask()
2021-04-20 11:17:50 +08:00
if self.data.otherData.selectId == 0 then
2021-04-19 11:38:35 +08:00
self.btnMaskNeedAdd:SetActive(true)
self.btnMaskGet:SetActive(not self.data.otherData.IsShowItem)
2021-04-17 16:45:33 +08:00
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)
2021-04-17 16:45:33 +08:00
else
2021-04-19 11:38:35 +08:00
self.btnMaskNeedAdd:SetActive(false)
2023-02-02 17:50:47 +08:00
self.btnMaskNeed:SetActive(false)
2021-04-17 16:45:33 +08:00
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)
2021-04-17 14:01:12 +08:00
end
2021-04-16 11:12:17 +08:00
end
2021-04-19 15:43:25 +08:00
function ItemUpstarPre:SetButton()
2021-05-11 17:03:09 +08:00
self.info.text = string.format(Language[12303],self.data.progress)
2021-04-19 15:43:25 +08:00
local bool = self.data.progress == 0
2021-05-11 17:03:09 +08:00
self.btnText.text = bool and Language[12304] or Language[12305]
2021-04-19 15:43:25 +08:00
Util.SetGray(self.btnExchange,bool)
self.btnExchange:GetComponent("Button").interactable = not bool
end
2021-04-16 11:12:17 +08:00
function ItemUpstarPre:OnClose()
2021-04-20 11:17:50 +08:00
self.data.otherData.selectId = 0
2021-04-17 16:45:33 +08:00
self.gridList = {}
2021-04-19 19:44:54 +08:00
for k,v in pairs(self.itemList) do
SubUIManager.Close(v)
end
2021-04-16 11:12:17 +08:00
end
return ItemUpstarPre