miduo_client/Assets/ManagedResources/~Lua/Modules/SevenDayCarnival/SevenDayCarnivalPanelV2.lua

516 lines
24 KiB
Lua
Raw Normal View History

2021-04-21 13:12:04 +08:00
require("Base/BasePanel")
2020-05-09 13:31:21 +08:00
SevenDayCarnivalPanelV2 = Inherit(BasePanel)
local this = SevenDayCarnivalPanelV2
local treasureTaskConfig = ConfigManager.GetConfig(ConfigName.TreasureTaskConfig)
local TabBox = require("Modules/Common/TabBox")
local _TabData={}
2023-10-31 18:36:31 +08:00
local _TabData={
[1] = { default = "UI_hz_gonghui_31", select = "UI_hz_gonghui_31", name = "刷充GM",img = "gm_shuachong_scGM_01_zh",id=2201,scale=0,all=0 },
[2] = { default = "UI_hz_gonghui_32", select = "UI_hz_gonghui_32", name = "超级特权" ,img = "gm_shuachong_cjGM_01_zh",id=2202,scale=6,all=128},
[3] = { default = "UI_hz_gonghui_33", select = "UI_hz_gonghui_33", name = "神级特权" ,img = "gm_shuachong_sjGM_01_zh",id=2203,scale=5,all=400 },
[4] = { default = "UI_hz_gonghui_34", select = "UI_hz_gonghui_34", name = "无上特权",img = "gm_shuachong_wsGM_01_zh",id=2204,scale=2,all=3500 },
}
2020-05-09 13:31:21 +08:00
local _TabFontColor = { default = Color.New(130 / 255, 128 / 255, 120 / 255, 1),
select = Color.New(243 / 255, 235 / 255, 202 / 255, 1)}
local curIndex
local dayBtn = {}--天数btn
local rewardBtn = {}--积分btn
local curDayIndex = 1
local serverTaskList--服务器所有开服狂欢数据
local curServerTaskList--服务器所有开服狂欢某一天某页签数据 [missionid] = data
local allTaskListConfigDtata--表里所有开服狂欢某一天数据
local curTaskListConfigDtata--表里所有开服狂欢某一天某页签数据
local currentDay -- 当前第几天
local allRewardTaskList --表里所有开服狂欢积分数据
local tabBoxRedPoint = {}
local itemList = {}--优化itemView使用
local sorting=0
2020-05-25 19:16:23 +08:00
--半价购买数据
local shopInfoList
local curShopData
2020-05-09 13:31:21 +08:00
this.timer = Timer.New()
--初始化组件(用于子类重写)
function SevenDayCarnivalPanelV2:InitComponent()
2021-04-21 13:12:04 +08:00
this.spLoader = SpriteLoader.New()
2020-05-09 13:31:21 +08:00
--子模块脚本
this.BtnBack = Util.GetGameObject(self.transform, "bg/btnBack")
this.helpBtn = Util.GetGameObject(self.gameObject, "bg/helpBtn")
this.helpPosition=this.helpBtn:GetComponent("RectTransform").localPosition + Vector3(0,200,0)
this.tabBox = Util.GetGameObject(self.gameObject, "TabBox")
this.equipPre = Util.GetGameObject(self.gameObject, "bg/rewardPro")
--this.ScrollBar=Util.GetGameObject(self.gameObject, "CompoundPanel_Equip/Scrollbar"):GetComponent("Scrollbar")
local v2 = Util.GetGameObject(self.gameObject, "bg/taskList"):GetComponent("RectTransform").rect
this.ScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, Util.GetGameObject(self.gameObject, "bg/taskList").transform,
this.equipPre, nil, Vector2.New(-v2.x*2, -v2.y*2), 1, 1, Vector2.New(50,15))
this.ScrollView.moveTween.MomentumAmount = 1
this.ScrollView.moveTween.Strength = 1
for i = 1, 7 do
dayBtn[i] = Util.GetGameObject(self.gameObject, "bg/daysTabBg/tabsGroup/day_".. i)
end
this.progressImage = Util.GetGameObject(self.gameObject, "bg/finalTarget/progressbar/progress"):GetComponent("Image")
this.progressText = Util.GetGameObject(self.gameObject, "bg/finalTarget/curProgress/Text"):GetComponent("Text")
for i = 1, 4 do
rewardBtn[i] = Util.GetGameObject(self.gameObject, "bg/finalTarget/rewardProgress/rewardBoxBtn (" .. i .. ")")
end
this.dayBtnSelect = Util.GetGameObject(self.gameObject, "bg/daysTabBg/tabsGroup/selected")
this.dayBtnSelect2 = Util.GetGameObject(self.gameObject, "bg/daysTabBg/tabsGroup/selected2")
this.timeTextExpertgo = Util.GetGameObject(self.gameObject, "bg/actRemainTime")
this.timeTextExpert = Util.GetGameObject(self.gameObject, "bg/actRemainTime"):GetComponent("Text")
this.TabCtrl = TabBox.New()
this.UpView = SubUIManager.Open(SubUIConfig.UpView, self.transform, { showType = UpViewOpenType.ShowLeft })
end
--绑定事件(用于子类重写)
function SevenDayCarnivalPanelV2:BindEvent()
for i = 1, 7 do
Util.AddClick(dayBtn[i], function()
if i == curDayIndex then return end
this.OnDayClickBtn(i)
end)
end
Util.AddClick(this.BtnBack, function()
self:ClosePanel()
end)
--帮助按钮
Util.AddClick(this.helpBtn, function()
2021-03-03 17:46:08 +08:00
UIManager.OpenPanel(UIName.HelpPopup,HELP_TYPE.OpenSevenDay,this.helpPosition.x,this.helpPosition.y+220)
2020-05-09 13:31:21 +08:00
end)
end
--添加事件监听(用于子类重写)
function SevenDayCarnivalPanelV2:AddListener()
Game.GlobalEvent:AddEvent(GameEvent.MissionDaily.OnMissionDailyChanged, this.RefreshTaskShow)
Game.GlobalEvent:AddEvent(GameEvent.Activity.OnCloseSevenDayGift, self.OnClosePanelFun, self)
end
--移除事件监听(用于子类重写)
function SevenDayCarnivalPanelV2:RemoveListener()
Game.GlobalEvent:RemoveEvent(GameEvent.MissionDaily.OnMissionDailyChanged, this.RefreshTaskShow)
Game.GlobalEvent:RemoveEvent(GameEvent.Activity.OnCloseSevenDayGift, self.OnClosePanelFun, self)
end
--界面打开时调用(用于子类重写)
function SevenDayCarnivalPanelV2:OnOpen(_curDayIndex)
curDayIndex = _curDayIndex or 1
end
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
function SevenDayCarnivalPanelV2:OnShow()
currentDay = SevenDayCarnivalManager.GetCurrentDayNumber()
this.OnDayClickBtn(curDayIndex)
this.ShowTitleDayBtnsData()
this.ShowTitleProgressRewardData()
this.ShowTime()
this.RefreshRedPoint()
self.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.Main })
end
function SevenDayCarnivalPanelV2:OnSortingOrderChange()
for i, v in pairs(itemList) do
for j = 1, #v do
v[j]:SetEffectLayer(self.sortingOrder)
end
end
Util.AddParticleSortLayer(Util.GetGameObject(self.transform, "bg/effect"), self.sortingOrder-sorting)
sorting=self.sortingOrder
end
function this.RefreshRedPoint()
for i = 1, #dayBtn do
if i > currentDay then
Util.GetGameObject(dayBtn[i], "redPoint"):SetActive(false)
else
local redPoint = SevenDayCarnivalManager.GetDayNumberRedPointStatus(i)
Util.GetGameObject(dayBtn[i], "redPoint"):SetActive(redPoint)
end
end
end
function SevenDayCarnivalPanelV2:OnClosePanelFun()
self:ClosePanel()
end
function this.ShowTime()
local downTime = 0
local SevenDayCarnivalData = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.SevenDayCarnival)
if SevenDayCarnivalData then
downTime = SevenDayCarnivalData.endTime - GetTimeStamp()
end
this.RemainTimeDown(this.timeTextExpertgo,this.timeTextExpert,downTime)
end
function this.RemainTimeDown(_timeTextExpertgo,_timeTextExpert,timeDown)
if timeDown > 0 then
if _timeTextExpertgo then
_timeTextExpertgo:SetActive(true)
end
if _timeTextExpert then
2021-03-02 16:53:12 +08:00
_timeTextExpert.text = Language[10023]..PatFaceManager.TimeStampToDateString(timeDown)
2020-05-09 13:31:21 +08:00
end
if this.timer then
this.timer:Stop()
this.timer = nil
end
this.timer = Timer.New(function()
if _timeTextExpert then
2021-03-02 16:53:12 +08:00
_timeTextExpert.text = Language[10023]..PatFaceManager.TimeStampToDateString(timeDown)
2020-05-09 13:31:21 +08:00
end
if timeDown < 0 then
if _timeTextExpertgo then
_timeTextExpertgo:SetActive(false)
end
this.timer:Stop()
this.timer = nil
end
timeDown = timeDown - 1
end, 1, -1, true)
this.timer:Start()
else
if _timeTextExpertgo then
_timeTextExpertgo:SetActive(false)
end
end
end
--消息刷新
function this.RefreshTaskShow()
2021-02-26 17:26:45 +08:00
this.OnClickTabBtn(curIndex,false,false)
2020-05-09 13:31:21 +08:00
this.ShowTitleProgressRewardData()
this.DownTabBtnRedPointShow()
this.RefreshRedPoint()
if SevenDayCarnivalManager.RefreshNextDayData(currentDay) then
--跨天
currentDay = SevenDayCarnivalManager.GetCurrentDayNumber()
this.OnDayClickBtn(curDayIndex)
this.ShowTitleDayBtnsData()
this.ShowTitleProgressRewardData()
this.ShowTime()
this.RefreshRedPoint()
end
end
function this.CreateTabData()
_TabData = {}
for i = 1, #allTaskListConfigDtata do
if allTaskListConfigDtata[i].DayNum == curDayIndex then
if not _TabData[allTaskListConfigDtata[i].SheetId] then
2023-10-31 18:36:31 +08:00
table.insert(_TabData,{ default = "UI_hz_gonghui_3"..allTaskListConfigDtata[i].SheetId, select = "UI_hz_gonghui_3"..allTaskListConfigDtata[i].SheetId, name =GetLanguageStrById(allTaskListConfigDtata[i].SheetName)})
2020-05-09 13:31:21 +08:00
end
end
end
--必有此页签 写死
2023-10-31 18:36:31 +08:00
table.insert(_TabData,{ default = "UI_hz_gonghui_34", select = "UI_hz_gonghui_34", name = Language[11882] })
2020-05-09 13:31:21 +08:00
this.TabCtrl:SetTabAdapter(this.TabAdapter)
this.TabCtrl:SetChangeTabCallBack(this.SwitchView)
this.TabCtrl:Init(this.tabBox, _TabData,curIndex)
tabBoxRedPoint = {}
for i = 1, #_TabData do
local curTabBtn = Util.GetGameObject(this.tabBox, "box").transform:GetChild(i-1)
tabBoxRedPoint[i] = Util.GetGameObject(curTabBtn, "Redpot")
end
end
--显示上边七天按钮
function this.ShowTitleDayBtnsData()
for i = 1, 7 do
local icon
if i == 7 then
icon = Util.GetGameObject(dayBtn[i], "iconMask/icon"):GetComponent("Image")
else
icon = Util.GetGameObject(dayBtn[i], "icon"):GetComponent("Image")
end
2021-04-21 13:12:04 +08:00
icon.sprite = this.spLoader:LoadSprite(GetResourcePath(ConfigManager.GetConfigData(ConfigName.SevenDaysActivity,i).ShowIcon))
2021-03-02 16:53:12 +08:00
Util.GetGameObject(dayBtn[i], "Text"):GetComponent("Text").text = Language[10262].. i ..Language[10017]
2020-05-09 13:31:21 +08:00
if i <= currentDay then
Util.SetGray(dayBtn[i], false)
else
Util.SetGray(dayBtn[i], true)
end
end
end
--显示上边积分奖励
function this.ShowTitleProgressRewardData()
local curNum = 0
local maxNum = 0
allRewardTaskList = {}
local curAllTaskListConfigDtata = ConfigManager.GetAllConfigsDataByKey(ConfigName.TreasureTaskConfig,"ActivityId",ActivityTypeDef.SevenDayCarnival)
for i = 1, #curAllTaskListConfigDtata do
if curAllTaskListConfigDtata[i].TaskType == 38 then--积分
table.insert(allRewardTaskList,curAllTaskListConfigDtata[i])
end
end
for i = 1, #rewardBtn do
if allRewardTaskList[i] then
if maxNum < allRewardTaskList[i].TaskValue[2][1] then
maxNum = allRewardTaskList[i].TaskValue[2][1]
end
local curProgressData = curServerTaskList[allRewardTaskList[i].Id]
if curProgressData then
if curNum < curProgressData.progress then
curNum = curProgressData.progress
end
Util.GetGameObject(rewardBtn[i], "redPoint"):SetActive(curProgressData.state == 1)
Util.GetGameObject(rewardBtn[i], "Text"):GetComponent("Text").text = allRewardTaskList[i].TaskValue[2][1]
Util.GetGameObject(rewardBtn[i], "getFinish"):SetActive(curProgressData.state == 2)
Util.AddOnceClick(rewardBtn[i], function()
if curProgressData.state == 0 then
--PopupTipPanel.ShowTip("完成任务数量不足")
2021-03-02 16:53:12 +08:00
UIManager.OpenPanel(UIName.BoxRewardShowPopup,allRewardTaskList[i].Reward,rewardBtn[i].transform.localPosition.x,rewardBtn[i].transform.localPosition.y,allRewardTaskList[i].TaskValue[2][1] .. Language[11883])
2020-05-09 13:31:21 +08:00
return
end
if curProgressData.state == 2 then
2021-03-02 16:53:12 +08:00
PopupTipPanel.ShowTip(Language[10101])
2020-05-09 13:31:21 +08:00
return
end
NetManager.TakeMissionRewardRequest(TaskTypeDef.SevenDayCarnival, curProgressData.missionId, function(respond)
UIManager.OpenPanel(UIName.RewardItemPopup, respond.drop, 1,function ()
2021-02-26 17:26:45 +08:00
this.OnClickTabBtn(curIndex,false,false)
2020-05-09 13:31:21 +08:00
this.ShowTitleProgressRewardData()
this.DownTabBtnRedPointShow()
this.RefreshRedPoint()
end)
end)
end)
end
end
end
this.progressImage.fillAmount = curNum/maxNum
this.progressText.text = curNum
end
function this.OnDayClickBtn(_curDayIndex)
if _curDayIndex > currentDay then
2021-03-02 16:53:12 +08:00
PopupTipPanel.ShowTip(Language[11884])
2020-05-09 13:31:21 +08:00
return
end
if SevenDayCarnivalManager.GetSevenDayHalfPriceRedPoint(_curDayIndex) then
local activityId = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.SevenDayCarnival)
PlayerPrefs.SetInt(PlayerManager.uid .. "_SevenDay" .. "_" .. activityId .. "_" .. _curDayIndex, 1)
end
allTaskListConfigDtata = ConfigManager.GetAllConfigsDataByDoubleKey(ConfigName.TreasureTaskConfig,"ActivityId",ActivityTypeDef.SevenDayCarnival,"DayNum",_curDayIndex)
curDayIndex = _curDayIndex
curIndex = 1
if curDayIndex ~= 7 then
this.dayBtnSelect.transform:SetParent(Util.GetGameObject(dayBtn[curDayIndex], "selectedParent").transform)
this.dayBtnSelect.transform.localPosition = Vector3.zero
else
this.dayBtnSelect2.transform:SetParent(Util.GetGameObject(dayBtn[curDayIndex], "selectedParent").transform)
this.dayBtnSelect2.transform.localPosition = Vector3.zero
end
this.dayBtnSelect:SetActive(curDayIndex ~= 7)
this.dayBtnSelect2:SetActive(curDayIndex == 7)
2021-02-26 17:26:45 +08:00
this.OnClickTabBtn(curIndex,false,false)
2020-05-09 13:31:21 +08:00
this.CreateTabData()
this.DownTabBtnRedPointShow()
end
-- tab节点显示自定义
function this.TabAdapter(tab, index, status)
local tabLab = Util.GetGameObject(tab, "Text")
local tabImage = Util.GetGameObject(tab,"Image")
2023-10-31 18:36:31 +08:00
local select = Util.GetGameObject(tab,"select")
select:SetActive(status=="select")
2021-04-21 13:12:04 +08:00
tabImage:GetComponent("Image").sprite = this.spLoader:LoadSprite(_TabData[index][status])
2021-02-23 18:15:15 +08:00
tabLab:GetComponent("Text").text = GetCurLanguage() ~= 2 and _TabData[index].name or "<size=35>".._TabData[index].name.."</size>"-- = _TabData[index].name
2020-05-09 13:31:21 +08:00
tabLab:GetComponent("Text").color = _TabFontColor[status]
2023-10-31 18:36:31 +08:00
2020-05-09 13:31:21 +08:00
end
--切换视图
function this.SwitchView(index)
2021-02-26 17:26:45 +08:00
this.OnClickTabBtn(index,true,true)
2020-05-09 13:31:21 +08:00
end
local sortTable = {
[0] = 2,
[1] = 1,
[2] = 3
}
function this.DownTabBtnRedPointShow()
local redPointState = {}
allTaskListConfigDtata = ConfigManager.GetAllConfigsDataByDoubleKey(ConfigName.TreasureTaskConfig,"ActivityId",ActivityTypeDef.SevenDayCarnival,"DayNum",curDayIndex)
serverTaskList = TaskManager.GetTypeTaskList(TaskTypeDef.SevenDayCarnival)
for i = 1, #serverTaskList do
--普通的任务
if treasureTaskConfig[serverTaskList[i].missionId] and treasureTaskConfig[serverTaskList[i].missionId].SheetId then
local SheetId = treasureTaskConfig[serverTaskList[i].missionId].SheetId
if curDayIndex == treasureTaskConfig[serverTaskList[i].missionId].DayNum then
if not redPointState[SheetId] then
redPointState[SheetId] = serverTaskList[i].state == 1
end
end
end
end
2020-05-25 19:16:23 +08:00
redPointState[4] = SevenDayCarnivalManager.GetSevenDayCarnivalRedPoint2(curDayIndex)--半价
2020-05-09 13:31:21 +08:00
for i = 1, #tabBoxRedPoint do
tabBoxRedPoint[i].gameObject:SetActive(redPointState[i])
end
end
--下方页签选择
2021-02-26 17:26:45 +08:00
function this.OnClickTabBtn(_curIndex,isTop,isAni)
2020-05-09 13:31:21 +08:00
serverTaskList = TaskManager.GetTypeTaskList(TaskTypeDef.SevenDayCarnival)
curIndex = _curIndex
curTaskListConfigDtata = {}
curServerTaskList = {}
for i = 1, #allTaskListConfigDtata do
if allTaskListConfigDtata[i].SheetId == curIndex then
table.insert(curTaskListConfigDtata,allTaskListConfigDtata[i])
end
end
for i = 1, #serverTaskList do
--普通的任务
if treasureTaskConfig[serverTaskList[i].missionId] and treasureTaskConfig[serverTaskList[i].missionId].SheetId then
if treasureTaskConfig[serverTaskList[i].missionId].SheetId == curIndex then
curServerTaskList[serverTaskList[i].missionId] = serverTaskList[i]
end
end
--积分的任务
if treasureTaskConfig[serverTaskList[i].missionId].TaskType == 38 then
curServerTaskList[serverTaskList[i].missionId] = serverTaskList[i]
end
end
if _curIndex ~= 4 then
table.sort(curTaskListConfigDtata, function(a, b)
if sortTable[curServerTaskList[a.Id].state] == sortTable[curServerTaskList[b.Id].state] then
return a.Id < b.Id
else
return sortTable[curServerTaskList[a.Id].state] < sortTable[curServerTaskList[b.Id].state]
end
end)
this.ScrollView:SetData(curTaskListConfigDtata, function (index, go)
this.SingleItemDataShow(go, curTaskListConfigDtata[index])
2021-02-26 17:26:45 +08:00
end,not isTop,not isAni)
2020-05-09 13:31:21 +08:00
else-- 4 半价购买
2020-05-25 19:16:23 +08:00
curShopData = ConfigManager.TryGetConfigDataByDoubleKey(ConfigName.StoreTypeConfig,"StoreType",SHOP_TYPE.SEVENDAY_CARNIVAL_SHOP,"Sort",curDayIndex)
2020-05-09 13:31:21 +08:00
if curShopData then
shopInfoList = ShopManager.GetShopDataByShopId(curShopData.Id)
end
if shopInfoList then
--self.storeConfig = ConfigManager.GetConfigData(ConfigName.StoreConfig,shopInfoList.storeItem[self.mainPanel.selectDayTab].id)
--local goods = ShopManager.GetShopItemGoodsInfo(self.storeConfig.Id)
this.ScrollView:SetData(shopInfoList.storeItem, function (index, go)
this.SingleItemDataShow2(go, shopInfoList.storeItem[index],curShopData.Id)
2021-02-26 17:26:45 +08:00
end,not isTop,not isAni)
2020-05-09 13:31:21 +08:00
end
end
end
--半价购买
function this.SingleItemDataShow2(go, data,curShopDataId)
local storeConfig = ConfigManager.GetConfigData(ConfigName.StoreConfig,data.id)
if not storeConfig then return end
if not itemList[go.name] then
itemList[go.name] = {}
end
for i = 1, #itemList[go.name] do
itemList[go.name][i].gameObject:SetActive(false)
end
for i = 1, #storeConfig.Goods do
if itemList[go.name][i] then
itemList[go.name][i]:OnOpen(false, storeConfig.Goods[i], 0.8,false,false,false,sorting)
else
itemList[go.name][i] = SubUIManager.Open(SubUIConfig.ItemView, Util.GetGameObject(go, "itemContent").transform)
itemList[go.name][i]:OnOpen(false, storeConfig.Goods[i], 0.8,false,false,false,sorting)
end
itemList[go.name][i].gameObject:SetActive(true)
end
2021-01-26 17:08:39 +08:00
Util.GetGameObject(go, "desc"):GetComponent("Text").text = GetLanguageStrById(storeConfig.GoodsName)
2020-05-09 13:31:21 +08:00
Util.GetGameObject(go, "current/buyBtn"):SetActive(true)
Util.GetGameObject(go, "current/dealBtn"):SetActive(false)
Util.GetGameObject(go, "current/jumpBtn"):SetActive(false)
Util.GetGameObject(go, "current/progress"):SetActive(false)
--Util.GetGameObject(go, "current/finished"):SetActive(false)
Util.GetGameObject(go, "current/buyBtn/progress"):SetActive(storeConfig.IsDiscount > 0)
local item,num,oldNum = ShopManager.CalculateCostCountByShopId(curShopDataId, data.id, 1)
Util.GetGameObject(go, "current/buyBtn/progress"):GetComponent("Text").text = oldNum
local finished = Util.GetGameObject(go, "current/finished")
finished:SetActive(not ((storeConfig.Limit - data.buyNum) > 0))
Util.SetGray(finished,not ((storeConfig.Limit - data.buyNum) > 0))
2021-03-02 16:53:12 +08:00
Util.GetGameObject(finished, "Text"):GetComponent("Text").text = Language[10514]
2021-04-21 13:12:04 +08:00
Util.GetGameObject(go, "current/buyBtn/icon"):GetComponent("Image").sprite = this.spLoader:LoadSprite(GetResourcePath(ConfigManager.GetConfigData(ConfigName.ItemConfig,item).ResourceID))
Util.GetGameObject(go, "current/buyBtn/progress/icon"):GetComponent("Image").sprite = this.spLoader:LoadSprite(GetResourcePath(ConfigManager.GetConfigData(ConfigName.ItemConfig,item).ResourceID))
2020-05-09 13:31:21 +08:00
local buyBtn = Util.GetGameObject(go, "current/buyBtn")
Util.GetGameObject(buyBtn, "Text"):GetComponent("Text").text = num
2020-05-25 19:16:23 +08:00
Util.GetGameObject(buyBtn, "redPoint"):SetActive(num <= 0)
2020-05-09 13:31:21 +08:00
buyBtn:SetActive((storeConfig.Limit - data.buyNum) > 0)
Util.AddOnceClick(buyBtn, function()
if BagManager.GetItemCountById(item) >= num then
ShopManager.RequestBuyItemByShopId(curShopDataId, storeConfig.Id, 1, function ()
2021-02-26 17:26:45 +08:00
this.OnClickTabBtn(curIndex,false,false)
2020-05-09 13:31:21 +08:00
this.ShowTitleProgressRewardData()
this.DownTabBtnRedPointShow()
this.RefreshRedPoint()
end )
else
2021-03-02 16:53:12 +08:00
PopupTipPanel.ShowTip(GetLanguageStrById(ConfigManager.GetConfigData(ConfigName.ItemConfig,item).Name)..Language[10657])
2020-06-19 20:19:35 +08:00
--UIManager.OpenPanel(UIName.QuickPurchasePanel,{ type = item })
2020-05-09 13:31:21 +08:00
end
end)
end
function this.SingleItemDataShow(go, data)
2021-04-27 20:56:09 +08:00
if not data or not curServerTaskList[data.Id] then return end
2020-05-09 13:31:21 +08:00
local curServerTask = curServerTaskList[data.Id]
if not itemList[go.name] then
itemList[go.name] = {}
end
for i = 1, #itemList[go.name] do
itemList[go.name][i].gameObject:SetActive(false)
end
for i = 1, #data.Reward do
if itemList[go.name][i] then
itemList[go.name][i]:OnOpen(false, data.Reward[i], 0.8,false,false,false,sorting)
else
itemList[go.name][i] = SubUIManager.Open(SubUIConfig.ItemView, Util.GetGameObject(go, "itemContent").transform)
itemList[go.name][i]:OnOpen(false, data.Reward[i], 0.8,false,false,false,sorting)
end
itemList[go.name][i].gameObject:SetActive(true)
end
2021-01-26 17:08:39 +08:00
Util.GetGameObject(go, "desc"):GetComponent("Text").text = GetLanguageStrById(data.Show)
2020-05-09 13:31:21 +08:00
Util.GetGameObject(go, "current/progress"):GetComponent("Text").text = "("..curServerTask.progress .."/"..data.TaskValue[2][1]..")"
local dealBtn = Util.GetGameObject(go, "current/dealBtn")
local jumpBtn = Util.GetGameObject(go, "current/jumpBtn")
--state = 3; //0:未完成 1完成未领取 2已达成已领取
dealBtn:SetActive(curServerTask.state == 1)
--Util.GetGameObject(go, "current/redPoint"):SetActive(curServerTask.state == 1)
local finished = Util.GetGameObject(go, "current/finished")
finished:SetActive(curServerTask.state == 2)
Util.SetGray(finished,curServerTask.state == 2)
2021-03-02 16:53:12 +08:00
Util.GetGameObject(finished, "Text"):GetComponent("Text").text = Language[10101]
2020-05-09 13:31:21 +08:00
Util.GetGameObject(go, "current/buyBtn"):SetActive(false)
Util.GetGameObject(go, "current/progress"):SetActive(not curServerTask.state == 2)
Util.AddOnceClick(dealBtn, function()
NetManager.TakeMissionRewardRequest(TaskTypeDef.SevenDayCarnival, curServerTask.missionId, function(respond)
UIManager.OpenPanel(UIName.RewardItemPopup, respond.drop, 1)
end)
end)
-- 判断是否需要跳转
if curServerTask.state == 0 then
jumpBtn:SetActive(true)
local isJump = data.Jump and data.Jump[1] and data.Jump[1] ~= 0
local btnText = Util.GetGameObject(jumpBtn, "Text"):GetComponent("Text")
2021-02-23 18:15:15 +08:00
btnText.fontSize = GetCurLanguage() ~= 2 and 45 or 30
2021-03-02 16:53:12 +08:00
btnText.text = isJump and Language[10019] or Language[10317]
Util.SetGray(jumpBtn, not isJump)
Util.AddOnceClick(jumpBtn, function()
if isJump then
JumpManager.GoJump(data.Jump[1])
end
end)
else
jumpBtn:SetActive(false)
end
2020-05-09 13:31:21 +08:00
end
--界面关闭时调用(用于子类重写)
function SevenDayCarnivalPanelV2:OnClose()
if this.timer then
this.timer:Stop()
this.timer = nil
end
end
--界面销毁时调用(用于子类重写)
function SevenDayCarnivalPanelV2:OnDestroy()
2021-04-21 13:12:04 +08:00
this.spLoader:Destroy()
2020-05-09 13:31:21 +08:00
if this.timer then
this.timer:Stop()
this.timer = nil
end
itemList = {}
end
return SevenDayCarnivalPanelV2