miduo_client/Assets/ManagedResources/~Lua/Modules/Carbon/DailyCarbonPanel.lua

493 lines
20 KiB
Lua
Raw Normal View History

2021-04-21 13:12:04 +08:00
----- 日常副本 -----
2020-05-09 13:31:21 +08:00
require("Base/BasePanel")
DailyCarbonPanel = Inherit(BasePanel)
local this = DailyCarbonPanel
local dailyChallengeConfig=ConfigManager.GetConfig(ConfigName.DailyChallengeConfig)
local mainLevelConfig = ConfigManager.GetConfig(ConfigName.MainLevelConfig)
local itemConfig=ConfigManager.GetConfig(ConfigName.ItemConfig)
local specialConfig=ConfigManager.GetConfig(ConfigName.SpecialConfig)
2020-05-09 13:31:21 +08:00
local curData={}
local orginLayer=0
local carbonIndex=0--副本索引
2020-08-22 15:31:14 +08:00
local maxForce = 0
2020-05-09 13:31:21 +08:00
--顶部背景图
local titleBg={
2020-07-29 17:50:15 +08:00
--金币
2023-11-11 17:11:23 +08:00
[1]={bg="UI_hz_yt_01", titleImg = "r_richang_banner_5_zi_zh",name="金币副本", titleTip = GetLanguageStrById(specialConfig[41].Value),pos = Vector3.New(257.08,658.37,0)},
2020-07-29 17:50:15 +08:00
--经验
2023-11-11 17:11:23 +08:00
[2]={bg="UI_hz_yt_02", titleImg = "r_richang_banner_4_zi_zh",name="经验副本", titleTip = GetLanguageStrById(specialConfig[42].Value),pos = Vector3.New(257.08,651.24,0)},
2020-07-29 17:50:15 +08:00
--神将
2023-12-07 00:09:44 +08:00
[3]={bg="r_richang_banner_3_zh", titleImg = "r_richang_banner_3_zi_zh", name="英雄副本",titleTip = GetLanguageStrById(specialConfig[43].Value),pos = Vector3.New(257.08,658.37,0)},
2020-07-29 17:50:15 +08:00
--法宝
2023-11-11 17:11:23 +08:00
[4]={bg="r_richang_banner_2_zh", titleImg = "r_richang_banner_2_zi_zh",name="法宝副本", titleTip = GetLanguageStrById(specialConfig[44].Value),pos = Vector3.New(257.08,651.24,0)},
2020-07-29 17:50:15 +08:00
--魂印
2023-12-07 00:09:44 +08:00
[5]={bg="r_richang_banner_1_zh", titleImg = "r_richang_banner_1_zi_zh", name="霸气副本",titleTip = GetLanguageStrById(specialConfig[45].Value),pos = Vector3.New(257.08,651.24,0)},
2020-05-09 13:31:21 +08:00
}
--难度图片
local qualityBg={
2022-12-08 17:00:29 +08:00
[1]={s="gm_richang_jd_zh",b="gm_richang_di1",name="简单"},
[2]={s="gm_richang_pt_zh",b="gm_richang_di1",name="普通"},
[3]={s="gm_richang_kn_zh",b="gm_richang_di1",name="困难"},
[4]={s="gm_richang_em_zh",b="gm_richang_di1",name="噩梦"},
[5]={s="gm_richang_ly_zh",b="gm_richang_di2",name="炼狱"},
[6]={s="gm_richang_dy_zh",b="gm_richang_di2",name="地狱"},
[7]={s="gm_richang_sy_zh",b="gm_richang_di2",name="深渊"},
[8]={s="gm_richang_cq_zh",b="gm_richang_di2",name="传奇"},
[9]={s="gm_richang_sh_zh",b="gm_richang_di2",name="神话"}
2020-05-09 13:31:21 +08:00
}
2023-09-02 17:16:34 +08:00
--副本难度颜色
local txtColor={
[1]="<color=#9F9F9F>%s</color>",
[2]="<color=#7EE01F>%s</color>",
[3]="<color=#FFA136>%s</color>",
[4]="<color=#CC36EC>%s</color>",
[5]="<color=#FF364E>%s</color>",
}
2020-05-09 13:31:21 +08:00
local itemList={}--奖励容器
--每日副本服务器数据
local buyTime=0--购买次数
local freeTime=0--免费次数
2022-12-08 17:00:29 +08:00
local maxBuyTime=0
local maxFreeTime=0
2020-05-09 13:31:21 +08:00
--Tab
local TabBox = require("Modules/Common/TabBox")
2023-11-11 17:11:23 +08:00
local _TabData={ [1] = { default = "UI_hz_gonghui_31", select = "UI_hz_gonghui_31",lock = "UI_hz_gonghui_31", name = Language[10282],type=FUNCTION_OPEN_TYPE.DAILYCHALLENGE_COIN },
[2] = { default = "UI_hz_gonghui_32", select = "UI_hz_gonghui_32",lock = "UI_hz_gonghui_32", name = Language[10283],type=FUNCTION_OPEN_TYPE.DAILYCHALLENGE_EXP },
--[3] = { default = "r_richang_anniu_lieyaoshi_01_zh", select = "r_richang_anniu_lieyaoshi_zh",lock = "r_richang_anniu_lieyaoshi_zh", name = Language[10284],type=FUNCTION_OPEN_TYPE.DAILYCHALLENGE_HERODEBRIS },
--[4] = { default = "r_richang_anniu_fabao_01_zh", select = "r_richang_anniu_fabao_zh",lock = "r_richang_anniu_fabao_zh", name = Language[10285],type=FUNCTION_OPEN_TYPE.DAILYCHALLENGE_TALISMAN },
--[5] = { default = "r_richang_anniu_hunyin_01_zh", select = "r_richang_anniu_hunyin_zh",lock = "r_richang_anniu_hunyin_zh", name = Language[10286],type=FUNCTION_OPEN_TYPE.DAILYCHALLENGE_SOULPRINT }
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),
lock=Color.New(243 / 255, 235 / 255, 202 / 255, 1)}
function DailyCarbonPanel:InitComponent()
2021-04-21 13:12:04 +08:00
this.spLoader = SpriteLoader.New()
2020-05-09 13:31:21 +08:00
this.panel=Util.GetGameObject(this.gameObject,"Panel")
2021-03-31 12:00:55 +08:00
this.titleBg=Util.GetGameObject(this.panel,"TitleBg"):GetComponent("Image")
2021-05-27 14:56:18 +08:00
this.titleImg=Util.GetGameObject(this.panel,"TitleBg/Image"):GetComponent("Image")
2021-03-31 12:00:55 +08:00
this.titleTip=Util.GetGameObject(this.panel,"TitleBg/Text"):GetComponent("Text")
2023-11-11 17:11:23 +08:00
this.titleName=Util.GetGameObject(this.panel,"TitleBg/titleName"):GetComponent("Text")
2020-05-09 13:31:21 +08:00
this.timeTip=Util.GetGameObject(this.panel,"TimeTip"):GetComponent("Text")
2023-09-02 17:16:34 +08:00
this.titleName=Util.GetGameObject(this.panel,"titleName"):GetComponent("Text")
2020-05-09 13:31:21 +08:00
this.backBtn=Util.GetGameObject(this.panel,"BackBtn")
this.helpBtn= Util.GetGameObject(this.panel, "HelpBtn")
this.helpPosition=this.helpBtn:GetComponent("RectTransform").localPosition
--滚动条
this.pre = Util.GetGameObject(this.panel, "Scroll/Pre")
this.scroll = Util.GetGameObject(this.panel, "Scroll")
this.scrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView,this.scroll.transform,
2023-09-02 17:16:34 +08:00
this.pre, nil, Vector2.New(1080.4, 897.3), 1, 1, Vector2.New(0, 10))
2020-05-09 13:31:21 +08:00
this.scrollView.moveTween.MomentumAmount = 1
this.scrollView.moveTween.Strength = 2
this.upView = SubUIManager.Open(SubUIConfig.UpView, self.gameObject.transform)
this.tabBox = Util.GetGameObject(this.panel, "TabBox")
this.TabCtrl = TabBox.New()
end
function DailyCarbonPanel:BindEvent()
--返回按钮
Util.AddClick(this.backBtn, function()
PlaySoundWithoutClick(SoundConfig.Sound_UICancel)
self:ClosePanel()
end)
--帮助按钮
Util.AddClick(this.helpBtn, function()
UIManager.OpenPanel(UIName.HelpPopup,HELP_TYPE.DailyCarbon,this.helpPosition.x,this.helpPosition.y)
end)
end
function DailyCarbonPanel:OnSortingOrderChange()
orginLayer = self.sortingOrder
2020-05-25 19:16:23 +08:00
for i, v in pairs(itemList) do
for j = 1, #itemList[i] do
itemList[i][j]:SetEffectLayer(orginLayer)
end
end
2020-05-09 13:31:21 +08:00
end
function DailyCarbonPanel:AddListener()
Game.GlobalEvent:AddEvent(GameEvent.FiveAMRefresh.ServerNotifyRefresh,this.FiveRefresh)
end
function DailyCarbonPanel:RemoveListener()
Game.GlobalEvent:RemoveEvent(GameEvent.FiveAMRefresh.ServerNotifyRefresh,this.FiveRefresh)
end
2020-06-13 11:47:13 +08:00
function DailyCarbonPanel:OnOpen(_carbonIndex)
carbonIndex = _carbonIndex and _carbonIndex or 1
2020-05-09 13:31:21 +08:00
this.upView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.Main })
end
function DailyCarbonPanel:OnShow()
SoundManager.PlayMusic(SoundConfig.BGM_Carbon)
2020-08-05 16:26:45 +08:00
local curFormationForce = FormationManager.GetFormationPower(FormationTypeDef.FORMATION_NORMAL)
if PlayerManager.maxForce < curFormationForce then
PlayerManager.maxForce = curFormationForce
end
maxForce = PlayerManager.maxForce
2020-05-09 13:31:21 +08:00
if carbonIndex==0 then carbonIndex=1 end
this.TabCtrl:SetTabAdapter(this.TabAdapter)
this.TabCtrl:SetTabIsLockCheck(this.TabIsLockCheck)
2022-01-13 12:04:22 +08:00
this.TabCtrl:SetChangeTabCallBack(function(index)
this.RefreshShow(index, true,true)
end)
2020-05-09 13:31:21 +08:00
this.TabCtrl:Init(this.tabBox, _TabData,carbonIndex)
2020-06-03 19:09:01 +08:00
-- 音效
SoundManager.PlayMusic(SoundConfig.BGM_Carbon)
2020-05-09 13:31:21 +08:00
end
2020-07-29 17:50:15 +08:00
function DailyCarbonPanel:RefreshRedPotShow()
local tabs = Util.GetGameObject(this.tabBox,"box").transform
for i = 1,tabs.childCount do
Util.GetGameObject(tabs:GetChild(i-1),"Redpot").gameObject:SetActive(CarbonManager.GetDailyCarbons(i).state)
end
2020-07-29 18:16:11 +08:00
CheckRedPointStatus(RedPointType.HeroExplore)
2020-07-29 17:50:15 +08:00
end
2020-05-09 13:31:21 +08:00
function DailyCarbonPanel:OnClose()
end
function DailyCarbonPanel:OnDestroy()
2021-04-21 13:12:04 +08:00
this.spLoader:Destroy()
2020-05-25 19:16:23 +08:00
itemList={}
2020-05-09 13:31:21 +08:00
this.scrollView=nil
SubUIManager.Close(this.upView)
end
function this.FiveRefresh()
2021-02-26 10:37:39 +08:00
this.RefreshShow(1,false,false)
2020-07-29 17:50:15 +08:00
DailyCarbonPanel:RefreshRedPotShow()
2020-05-09 13:31:21 +08:00
end
--刷新面板
2021-02-26 10:37:39 +08:00
function this.RefreshShow(i,isTop,isAni)
2020-05-09 13:31:21 +08:00
carbonIndex = i
curData={}
2020-05-09 13:31:21 +08:00
curData=ConfigManager.GetAllConfigsDataByKey(ConfigName.DailyChallengeConfig,"Type",i)
2021-04-21 13:12:04 +08:00
this.titleBg.sprite=this.spLoader:LoadSprite(titleBg[i].bg)
2021-05-27 14:56:18 +08:00
this.titleImg.sprite=this.spLoader:LoadSprite(titleBg[i].titleImg)
this.titleTip.text=titleBg[i].titleTip
2023-11-11 17:11:23 +08:00
this.titleName.text=titleBg[i].name
2020-09-02 17:38:56 +08:00
-- this.titleTip.gameObject:GetComponent("RectTransform").localPosition = titleBg[i].pos
2020-05-09 13:31:21 +08:00
this.SetTimeTip()
2021-02-26 10:37:39 +08:00
this.SetScroll(i,isTop,isAni)
2020-07-29 17:50:15 +08:00
DailyCarbonPanel:RefreshRedPotShow()
2020-05-09 13:31:21 +08:00
end
2020-08-26 12:23:10 +08:00
2020-05-09 13:31:21 +08:00
--设置滚动条
2022-12-08 17:00:29 +08:00
local curMaxOpenId = 1
local curName=""
2021-02-26 10:37:39 +08:00
function this.SetScroll(i,isTop,isAni)
2022-12-08 17:00:29 +08:00
local list={}
2020-08-26 12:23:10 +08:00
for k,v in ipairs(curData) do
if not CarbonManager.IsDailyCarbonPass(v.Id) then
2022-12-08 17:00:29 +08:00
curMaxOpenId = v.Quality
2020-08-26 12:23:10 +08:00
break
end
end
2022-12-08 17:00:29 +08:00
local isEnd=false
if CarbonManager.IsDailyCarbonPass(curData[#curData].Id) then
2022-12-08 17:00:29 +08:00
isEnd=true
curMaxOpenId = #curData
end
2022-12-08 17:00:29 +08:00
curName=qualityBg[curMaxOpenId].name
2023-11-11 17:11:23 +08:00
--this.titleName.text=_TabData[curMaxOpenId].name
2023-09-02 17:16:34 +08:00
this.timeTip.text="<color=#FEF693>当前难度:</color>"..string.format(txtColor[curMaxOpenId],curName)
2022-12-08 17:00:29 +08:00
--state 1:挑战 2未开启 3.扫荡
for k,v in ipairs(curData) do
local aaa={}
aaa.config=v
--解锁状态
local _lv=0 --等级
local _point=0 --关卡
local _power = 0 --data.ForceShow--表战力
for i = 1, #v.OpenRules do
if v.OpenRules[i][1] == 1 then
_lv = v.OpenRules[i][2]
elseif v.OpenRules[i][1] == 2 then
_point = v.OpenRules[i][2]
elseif v.OpenRules[i][1] == 3 then
_power = v.OpenRules[i][2]
end
end
-- LogError("lv==".._lv.." point==".._point.." power==".._power)
local lastData=curData[k-1]
-- 判断每日副本是否解锁
local isOpen = (not lastData or CarbonManager.IsDailyCarbonPass(lastData.Id)) -- 上一个副本解锁
and PlayerManager.level >= _lv -- 等级
and (_point == 0 or FightPointPassManager.IsFightPointPass(_point))
and PlayerManager.maxForce >= _power -- 战斗力
if isOpen then
if CarbonManager.IsDailyCarbonPass(v.Id) then
if isEnd then
if v.Quality==curMaxOpenId then
aaa.state=0
else
aaa.state=3
end
else
if v.Quality==curMaxOpenId-1 then
aaa.state=0
else
aaa.state=3
end
end
else
aaa.state=1
end
else
aaa.state=2
end
--table.insert(list,aaa)
list[k]=aaa
end
table.sort(list,function(a,b)
if a.state==b.state then
return a.config.Id<b.config.Id
else
return a.state<b.state
end
end)
this.scrollView:SetData(list,function(index,root)
this.SetData(root,list[index].config, list[index - 1],list[index].state)
end,not isTop,not isAni)
LogError("curMaxOpenId=="..curMaxOpenId)
-- if CarbonManager.IsDailyCarbonPass(curData[#curData].Id) then
-- curMaxOpenId = #curData
-- end
-- this.scrollView:SetIndex(curMaxOpenId - 2 < 1 and 1 or (curMaxOpenId - 2))
2020-05-09 13:31:21 +08:00
end
2020-06-23 18:36:24 +08:00
--设置滚动条数据 root根节点 data本地表数据 ldata 上一条数据
2022-12-08 17:00:29 +08:00
function this.SetData(root, data, ldata,state)
2020-05-09 13:31:21 +08:00
local type=0 --0为未开启 1为挑战 2为扫荡
2020-08-26 20:20:40 +08:00
local bgQuality=Util.GetGameObject(root,"Bg"):GetComponent("Image")
2020-05-09 13:31:21 +08:00
local title=Util.GetGameObject(root,"Title"):GetComponent("Image")
2023-09-02 17:16:34 +08:00
-- local frame=Util.GetGameObject(root,"frame"):GetComponent("Image")
2020-05-09 13:31:21 +08:00
local reward=Util.GetGameObject(root,"Reward")
local tip=Util.GetGameObject(root,"Tip"):GetComponent("Text")
2020-08-26 20:20:40 +08:00
local power=Util.GetGameObject(root,"powerBtn/value"):GetComponent("Text")
2023-09-02 17:16:34 +08:00
local info=Util.GetGameObject(root,"TitleText"):GetComponent("Text")
2020-05-09 13:31:21 +08:00
local goBtn=Util.GetGameObject(root,"GoBtn")
2023-09-02 17:16:34 +08:00
local cost=Util.GetGameObject(root,"cost")
2020-05-09 13:31:21 +08:00
local goBtnImage=goBtn:GetComponent("Image")
local goBtnText=Util.GetGameObject(goBtn,"Text"):GetComponent("Text")
2023-09-02 17:16:34 +08:00
local goIcon=Util.GetGameObject(cost,"Icon")
local goIconNum=Util.GetGameObject(cost,"IconNum")
local goIconNumText=Util.GetGameObject(goBtn,"Text"):GetComponent("Text")
2020-05-09 13:31:21 +08:00
local storeData=ConfigManager.GetConfigDataByDoubleKey(ConfigName.StoreConfig,"StoreId",7,"Limit",data.PrivilegeId[1])--商店表数据
2021-04-21 13:12:04 +08:00
title.sprite=this.spLoader:LoadSprite(qualityBg[data.Quality].s)
title:SetNativeSize()
2023-09-02 17:16:34 +08:00
--frame.sprite=this.spLoader:LoadSprite(qualityBg[data.Quality].b)
2020-05-09 13:31:21 +08:00
ResetItemView(root,reward.transform,itemList,3,0.9,orginLayer,false,data.RewardView)
2022-12-08 17:00:29 +08:00
--LogError("state==="..state)
2020-05-09 13:31:21 +08:00
--解锁状态
2020-07-01 18:14:03 +08:00
local _lv=0 --等级
local _point=0 --关卡
local _power = 0 --data.ForceShow--表战力
for i = 1, #data.OpenRules do
if data.OpenRules[i][1] == 1 then
_lv = data.OpenRules[i][2]
elseif data.OpenRules[i][1] == 2 then
_point = data.OpenRules[i][2]
elseif data.OpenRules[i][1] == 3 then
_power = data.OpenRules[i][2]
end
end
if data.OpenRules[2] ~= nil and data.OpenRules[1][1] == 1 then
_lv = data.OpenRules[1][2]
end
if data.OpenRules[1] ~= nil and data.OpenRules[1][1] == 2 then
_point= data.OpenRules[1][2]
end
if data.OpenRules[2][1]==3 then
_power= data.OpenRules[2][2]
end
-- 判断每日副本是否解锁
2022-12-08 17:00:29 +08:00
local isOpen = (not ldata or CarbonManager.IsDailyCarbonPass(ldata.config.Id)) -- 上一个副本解锁
2020-07-01 18:14:03 +08:00
and PlayerManager.level >= _lv -- 等级
and (_point == 0 or FightPointPassManager.IsFightPointPass(_point))
2020-08-22 15:31:14 +08:00
and PlayerManager.maxForce >= _power -- 战斗力
2020-05-09 13:31:21 +08:00
--显示挑战或扫荡道具消耗
goIcon:SetActive(false)
goIconNum:SetActive( false)
2020-05-09 13:31:21 +08:00
if freeTime<=0 then
goIconNumText.text=storeData.Cost[2][4]
end
2022-12-08 17:00:29 +08:00
goBtn:SetActive(false)
2020-05-09 13:31:21 +08:00
--表现显示
2022-12-08 17:00:29 +08:00
if state==1 then
2021-03-02 16:53:12 +08:00
goBtnText.text=Language[10287]
2022-12-08 17:00:29 +08:00
goBtn:SetActive(true)
2023-09-02 17:16:34 +08:00
-- goBtnImage.sprite=this.spLoader:LoadSprite("s_slbz_1anniuhuangse")
2022-12-08 17:00:29 +08:00
--power.text = _power--string.format(Language[10288], _power)
--power.transform.parent.gameObject:SetActive(true)
2023-09-02 17:16:34 +08:00
info.text=_power
2021-03-03 17:04:17 +08:00
tip.gameObject:SetActive(false)
2022-12-08 17:00:29 +08:00
type=1
elseif state==2 then
--power.text = _power --string.format(Language[10291], _power)
--goBtnText.text=Language[10292]
goBtn:SetActive(false)
tip.gameObject:SetActive(true)
tip.text="未达成"
2023-09-02 17:16:34 +08:00
info.text=_power
2022-12-08 17:00:29 +08:00
--power.transform.parent.gameObject:SetActive(true)
2020-05-09 13:31:21 +08:00
type=0
2022-12-08 17:00:29 +08:00
elseif state==3 then
--goIcon:SetActive(state==1 and freeTime<=0)
--ssgoIconNum:SetActive(state==1 and freeTime<=0)
type=2
2023-09-02 17:16:34 +08:00
info.text=_power
2022-12-08 17:00:29 +08:00
-- goBtnText.text=Language[10289]
-- goBtnImage.sprite=this.spLoader:LoadSprite("s_slbz_1anniuhuise")
goBtn:SetActive(false)
tip.text="已达成"
tip.gameObject:SetActive(true)
--power.transform.parent.gameObject:SetActive(false)
elseif state==0 then
goIcon:SetActive(freeTime<=0)
goIconNum:SetActive(freeTime<=0)
goBtn:SetActive(true)
type=2
goBtnText.text="可扫荡"
2023-09-02 17:16:34 +08:00
info.text=string.format("%s/%s次",buyTime+freeTime,maxBuyTime+maxFreeTime)
-- goBtnImage.sprite=this.spLoader:LoadSprite("s_slbz_1anniuhuangse")
2020-08-26 20:20:40 +08:00
tip.gameObject:SetActive(false)
2022-12-08 17:00:29 +08:00
--power.transform.parent.gameObject:SetActive(false)
2020-05-09 13:31:21 +08:00
end
2022-12-08 17:00:29 +08:00
--Util.SetGray(goBtn,state==1)
2020-05-09 13:31:21 +08:00
--点击事件
Util.AddOnceClick(goBtn,function()
2020-07-01 18:14:03 +08:00
if PlayerManager.level<_lv then
2021-03-02 16:53:12 +08:00
PopupTipPanel.ShowTip(string.format(Language[10293],_lv))
2020-07-01 18:14:03 +08:00
return
2020-08-22 15:31:14 +08:00
elseif PlayerManager.maxForce < _power then
2021-03-02 16:53:12 +08:00
PopupTipPanel.ShowTip(string.format(Language[10294], _power))
2020-07-01 18:14:03 +08:00
return
elseif _point ~= 0 and not FightPointPassManager.IsFightPointPass(_point) then
2021-03-02 16:53:12 +08:00
PopupTipPanel.ShowTip(string.format(Language[10295], GetLanguageStrById(mainLevelConfig[_point].Name)))
2020-07-01 18:14:03 +08:00
return
2020-08-26 20:37:31 +08:00
-- elseif PlayerManager.curMapId ~= 0 and FightPointPassManager.IsFightPointPass(PlayerManager.curMapId)==false then
-- PopupTipPanel.ShowTip(string.format("未通关%s",mainLevelConfig[_point].Name))
2020-08-26 20:37:31 +08:00
-- return
2020-07-01 18:14:03 +08:00
end
2022-12-08 17:00:29 +08:00
if state==2 then
2021-03-02 16:53:12 +08:00
PopupTipPanel.ShowTip(Language[10296])
2020-06-23 18:36:24 +08:00
return
end
2020-05-09 13:31:21 +08:00
--检测剩余次数
if buyTime<=0 and freeTime<=0 and type==2 then
2021-03-02 16:53:12 +08:00
PopupTipPanel.ShowTip(Language[10297])
2020-05-09 13:31:21 +08:00
return
end
--检测妖晶数量
local itemId=storeData.Cost[1][1] --消耗道具
if BagManager.GetItemCountById(itemId)<storeData.Cost[2][4] and freeTime<=0 and type==2 then
2021-03-02 16:53:12 +08:00
PopupTipPanel.ShowTip(string.format(Language[10298],GetLanguageStrById(itemConfig[itemId].Name)))
2020-05-09 13:31:21 +08:00
return
end
--当免费次数不足 是扫荡 购买次数
if freeTime<=0 and type==2 then
2020-05-09 13:31:21 +08:00
ShopManager.RequestBuyShopItem(SHOP_TYPE.FUNCTION_SHOP,storeData.Id,1,function() end)
end
-- TODO: 没有战斗结果校验
2020-05-09 13:31:21 +08:00
NetManager.DailyChallengeRequest(data.Id,type,function(msg)
2020-06-03 19:09:01 +08:00
local fightData = BattleManager.GetBattleServerData(msg)
2022-12-08 17:00:29 +08:00
if state==1 then --挑战
2020-06-03 19:09:01 +08:00
UIManager.OpenPanel(UIName.BattlePanel, fightData, BATTLE_TYPE.DAILY_CHALLENGE , function(result)
2020-05-09 13:31:21 +08:00
if result.result ==0 then
elseif result.result==1 then
UIManager.OpenPanel(UIName.RewardItemPopup,msg.drop,1,function()
-- PrivilegeManager.RefreshPrivilegeUsedTimes(data.PrivilegeId[2],1)
2020-05-09 13:31:21 +08:00
CarbonManager.AddDailyChallengeInfo(data.Id)
2021-02-26 10:37:39 +08:00
this.RefreshShow(carbonIndex,false,false)
2020-05-09 13:31:21 +08:00
end)
end
end)
2022-12-08 17:00:29 +08:00
elseif state==0 then --扫荡
2020-05-09 13:31:21 +08:00
UIManager.OpenPanel(UIName.RewardItemPopup,msg.drop,1,function()
PrivilegeManager.RefreshPrivilegeUsedTimes(data.PrivilegeId[2],1)
2021-02-26 10:37:39 +08:00
this.RefreshShow(carbonIndex,false,false)
2020-05-09 13:31:21 +08:00
end)
end
end)
end)
end
--设置剩余次数
function this.SetTimeTip()
2022-12-08 17:00:29 +08:00
LogError("curData[1].PrivilegeId[1]=="..curData[1].PrivilegeId[1])
2020-05-09 13:31:21 +08:00
local storeData=ConfigManager.GetConfigDataByDoubleKey(ConfigName.StoreConfig,"StoreId",7,"Limit",curData[1].PrivilegeId[1])--商店表数据
local buyTimeId= curData[1].PrivilegeId[1]
local freeTimeId=curData[1].PrivilegeId[2]
2022-12-08 17:00:29 +08:00
LogError("buytimeid=="..buyTimeId.." freetimeid=="..freeTimeId)
buyTime=ShopManager.GetShopItemRemainBuyTimes(SHOP_TYPE.FUNCTION_SHOP,storeData.Id) --购买次数
maxBuyTime=ShopManager.GetShopItemLimitBuyCount(storeData.Id)
2020-05-09 13:31:21 +08:00
freeTime=PrivilegeManager.GetPrivilegeRemainValue(freeTimeId) --免费次数
2022-12-08 17:00:29 +08:00
maxFreeTime=PrivilegeManager.GetPrivilegeNumberById(freeTimeId)
--LogGreen("buyTime "..buyTime.." freeTime "..freeTime)
2022-12-08 17:00:29 +08:00
LogError("maxBuyTime=="..maxBuyTime.." maxFreeTime=="..maxFreeTime)
2020-05-09 13:31:21 +08:00
local str=""
if freeTime>0 then
2021-05-11 17:03:09 +08:00
str=string.format(Language[12292],tostring(freeTime))
2020-05-09 13:31:21 +08:00
else
2021-03-02 16:53:12 +08:00
str=string.format(Language[10300],tostring(buyTime))
2020-05-09 13:31:21 +08:00
end
2023-09-02 17:16:34 +08:00
-- this.titleName=_TabData[curMaxOpenId].name
2022-12-08 17:00:29 +08:00
--this.timeTip.text=str
2020-05-09 13:31:21 +08:00
end
-- tab节点显示自定义
function this.TabAdapter(tab, index, status)
-- local tabLab = Util.GetGameObject(tab, "Text")
local lock = Util.GetGameObject(tab, "LockImage")
local islock = status == "lock"
Util.SetGray( Util.GetGameObject(tab,"Image").gameObject, islock)
lock:SetActive(islock)
2021-04-21 13:12:04 +08:00
Util.GetGameObject(tab,"Image"):GetComponent("Image").sprite = this.spLoader:LoadSprite(_TabData[index][status])
2023-09-02 17:16:34 +08:00
Util.GetGameObject(tab,"Text"):GetComponent("Text").text = _TabData[index].name
2023-11-11 17:11:23 +08:00
Util.GetGameObject(tab,"select"):SetActive(status=="select")
2020-05-09 13:31:21 +08:00
-- tabLab:GetComponent("Text").text = _TabData[index].name
-- tabLab:GetComponent("Text").color = _TabFontColor[status]
end
function this.TabIsLockCheck(index)
if not ActTimeCtrlManager.SingleFuncState(_TabData[index].type) then
return true,ActTimeCtrlManager.SystemOpenTip(_TabData[index].type)
end
return false
end
2020-06-23 18:36:24 +08:00
return DailyCarbonPanel