1042 lines
48 KiB
Lua
1042 lines
48 KiB
Lua
--local LuckyTurnTablePanel= quick_class("LuckyTurnTablePanel")
|
||
--local this = LuckyTurnTablePanel
|
||
--function LuckyTurnTablePanel:ctor(mainPanel, gameObject)
|
||
-- self.mainPanel = mainPanel
|
||
-- self.gameObject = gameObject
|
||
-- self:InitComponent(gameObject)
|
||
-- self:BindEvent()
|
||
--end
|
||
require("Base/BasePanel")
|
||
LuckyTurnTablePanel = Inherit(BasePanel)
|
||
local this = LuckyTurnTablePanel
|
||
|
||
---背景盘图片切换资源名
|
||
-- local BgName = { "x1_choujiang_beijing_renwu_01","x1_choujiang_beijing_renwu_02","N1_bg_xunbao_haohuaxunbao","x_xytb_quan_33" }
|
||
local BgColor = {Color.New(72/255,157/255,228/255,255/255),
|
||
Color.New(188/255,133/255,252/255,255/255)}
|
||
|
||
local BtnBg = {
|
||
{"x1_choujiang_jinbichoujiang_01","x1_choujiang_jinbichoujiang_02"},
|
||
{"x1_choujiang_zuanshichoujiang_01","x1_choujiang_zuanshichoujiang_02"},
|
||
}
|
||
|
||
---转盘旋转类型
|
||
local TableTurnType = {
|
||
Normal = 1,--默认旋转
|
||
Expedite = 2,--加快旋转
|
||
}
|
||
|
||
local curTurnPos = 1 --当前位置
|
||
this.thread = nil --协程
|
||
|
||
this.refreshTimer = nil
|
||
this.upView = nil
|
||
|
||
local maxTimesCount = 0
|
||
---初始化组件(用于子类重写)
|
||
function LuckyTurnTablePanel:InitComponent(gameObject)
|
||
LuckyTurnTableManager.InitTableData()
|
||
LuckyTurnTableManager.GetLuckyTurnRequest()
|
||
|
||
this.luckyTurnPanel = Util.GetGameObject(self.gameObject,"Panel")
|
||
this.PlayerHeadFrameView = SubUIManager.Open(SubUIConfig.PlayerHeadFrameView, self.gameObject.transform)
|
||
this.upView = SubUIManager.Open(SubUIConfig.UpView, self.gameObject.transform, { showType = UpViewOpenType.ShowRight, panelType = PanelType.LuckyTreasure })
|
||
this.maskBG = Util.GetGameObject(this.luckyTurnPanel,"Mask")
|
||
this.helpBtn = Util.GetGameObject(this.luckyTurnPanel,"HelpBtn")
|
||
this.helpPosition = this.helpBtn:GetComponent("RectTransform").localPosition
|
||
this.backBtn = Util.GetGameObject(this.luckyTurnPanel,"BackBtn")
|
||
--this.activityCountDownText = Util.GetGameObject(this.luckyTurnPanel, "CountDownTimeText"):GetComponent("Text")--活动倒计时
|
||
|
||
this.luckyTreasureBtn = Util.GetGameObject(this.luckyTurnPanel, "Content/Top/LuckyTreasureBtn")--幸运探宝按钮
|
||
this.luckyTreasureSelectBG = Util.GetGameObject(this.luckyTreasureBtn, "SelectBG")
|
||
this.luckyTreasureText = Util.GetGameObject(this.luckyTreasureBtn,"Text"):GetComponent("Text")
|
||
this.luckyTreasureTitle = Util.GetGameObject(this.luckyTreasureBtn,"title"):GetComponent("Image")
|
||
this.luckyTreasureBtn.gameObject:SetActive(false)
|
||
|
||
this.advancedTreasureBtn = Util.GetGameObject(this.luckyTurnPanel, "Content/Top/AdvancedTreasureBtn")--高级探宝按钮
|
||
this.advancedTreasureSelectBG = Util.GetGameObject(this.advancedTreasureBtn, "SelectBG")
|
||
this.advancedTreasureText = Util.GetGameObject(this.advancedTreasureBtn,"Text"):GetComponent("Text")
|
||
this.advancedTreasureTitle = Util.GetGameObject(this.advancedTreasureBtn,"title"):GetComponent("Image")
|
||
|
||
this.bg1 = Util.GetGameObject(self.gameObject, "Panel/BG1"):GetComponent("Image")
|
||
this.bg2 = Util.GetGameObject(this.luckyTurnPanel, "Content/TurnTableImage/BG/BG2")
|
||
this.bg3 = Util.GetGameObject(this.luckyTurnPanel, "Content/TurnTableImage/BG/BG3")
|
||
|
||
---跑马灯位置(物品位置)
|
||
this.itemList = {}
|
||
for i = 1,8 do
|
||
this.itemList[i] = Util.GetGameObject(this.luckyTurnPanel, "Content/TurnTableImage/ItemList/Item"..i)
|
||
end
|
||
|
||
this.itemEffectIcon = {}--跑马灯亮灯
|
||
this.itemViewList = {}--跑马灯itemviewList
|
||
this.itemViewCurPos = {}
|
||
local tab = {{14,0},{3,0},{12001,0},{5,0},{4,0},{21,0},{60068,0},{60071,0}}---防白片临时数据
|
||
for i = 1, 8 do
|
||
this.itemEffectIcon[i] = Util.GetGameObject(this.itemList[i], "Image")
|
||
local parent = Util.GetGameObject(this.itemList[i].transform,"box").transform
|
||
this.itemViewList[i] = SubUIManager.Open(SubUIConfig.ItemView,parent)
|
||
this.itemViewList[i]:OnOpen(false, {tab[1][1],tab[1][2]},0.75)
|
||
|
||
local rect = this.itemViewList[i].transform
|
||
rect.anchoredPosition = Vector2.New(0,0)
|
||
rect.anchorMin = Vector2.New(0.5, 0.5)
|
||
rect.anchorMax = Vector2.New(0.5, 0.5)
|
||
rect.pivot = Vector2.New(0.5, 0.5)
|
||
this.itemViewCurPos[i] = this.itemList[i].transform.position
|
||
end
|
||
|
||
--记录
|
||
this.recordTextList = {}
|
||
for i = 1,6 do
|
||
this.recordTextList[i] = Util.GetGameObject(this.luckyTurnPanel, "TreasureRecord/RecordTextList/Viewport/Content/Text"..i):GetComponent("Text")
|
||
end
|
||
|
||
--拥有道具数量
|
||
this.propBtn = Util.GetGameObject(this.luckyTurnPanel,"Content/Prop")
|
||
this.propImage = Util.GetGameObject(this.luckyTurnPanel, "Content/Prop/PropImage"):GetComponent("Image")--道具
|
||
this.propText = Util.GetGameObject(this.luckyTurnPanel, "Content/Prop/PropText"):GetComponent("Text")
|
||
|
||
this.bottom = Util.GetGameObject(this.luckyTurnPanel,"Bottom")
|
||
this.treasureOnceBtn = Util.GetGameObject(this.bottom,"TreasureOnceBtn")
|
||
this.treasureOnceText = Util.GetGameObject(this.treasureOnceBtn,"Text"):GetComponent("Text")--探宝次数
|
||
this.treasureOnceIcon = Util.GetGameObject(this.treasureOnceBtn,"Icon"):GetComponent("Image")--消耗道具图标
|
||
this.treasureOnceNum = Util.GetGameObject(this.treasureOnceBtn,"Num"):GetComponent("Text")--消耗道具数量
|
||
this.treasureMultipleBtn = Util.GetGameObject(this.bottom,"TreasureMultipleBtn")
|
||
this.treasureMultipleText = Util.GetGameObject(this.treasureMultipleBtn,"Text"):GetComponent("Text")
|
||
this.treasureMultipleIcon = Util.GetGameObject(this.treasureMultipleBtn,"Icon"):GetComponent("Image")
|
||
this.treasureMultipleNum = Util.GetGameObject(this.treasureMultipleBtn,"Num"):GetComponent("Text")
|
||
this.refreshBtn = Util.GetGameObject(self.gameObject,"Content/TurnTableImage/RefreshBtn")
|
||
this.freeDetail = Util.GetGameObject(this.refreshBtn,"FreeDetail")
|
||
this.detail = Util.GetGameObject(this.refreshBtn,"Detail")
|
||
this.costItemImage = Util.GetGameObject(this.detail,"CostItemImage"):GetComponent("Image")
|
||
this.costItemNumText = Util.GetGameObject(this.detail,"CostItemNumText"):GetComponent("Text")
|
||
this.freeRefreshTime = Util.GetGameObject(this.refreshBtn,"FreeRefreshTime/Text"):GetComponent("Text")
|
||
|
||
this.slider = Util.GetGameObject(this.luckyTurnPanel,"Slider")
|
||
this.luckyValueNum = Util.GetGameObject(this.slider, "LuckyValue/LuckyValueNum"):GetComponent("Text")--幸运值
|
||
this.luckySlider = Util.GetGameObject(this.slider, "LuckySlider"):GetComponent("Slider")
|
||
|
||
this.rewardBoxList = {}--奖励盒
|
||
this.rewardBox = Util.GetGameObject(this.slider,"RewardBox")
|
||
for i = 1,5 do
|
||
this.rewardBoxList[i] = Util.GetGameObject(this.rewardBox,"Item"..i)
|
||
end
|
||
this.rewardPanel = Util.GetGameObject(this.slider,"RewardPanel")--幸运值奖励预览面板
|
||
this.itemViewParent = Util.GetGameObject(this.rewardPanel,"ItemViewParent")--item父物体
|
||
this.rewardPanelMaskBtn = Util.GetGameObject(this.rewardPanel,"Mask")--幸运值奖励预览遮罩按钮
|
||
this.rewardItemView = SubUIManager.Open(SubUIConfig.ItemView,this.itemViewParent.transform)
|
||
|
||
-- 奖励预览
|
||
this.btnPreview = Util.GetGameObject(self.gameObject, "Panel/Content/Top/btnPreview")
|
||
this.maxTimes = Util.GetGameObject(self.gameObject, "Panel/maxTimes"):GetComponent("Text")
|
||
|
||
this.mask = Util.GetGameObject(self.gameObject, "Panel/Content/Top/mask")
|
||
this.maskText = Util.GetGameObject(this.mask,"Text"):GetComponent("Text")
|
||
this.maskTitle = Util.GetGameObject(this.mask,"title"):GetComponent("Image")
|
||
this.material = Util.GetGameObject(this.rewardBox,"material"):GetComponent("Image").material
|
||
|
||
this.shopBtn = Util.GetGameObject(self.gameObject, "Panel/Content/shopBtn")
|
||
|
||
this.allMask = Util.GetGameObject(self.gameObject, "mask")
|
||
end
|
||
|
||
---绑定事件(用于子类重写)
|
||
function LuckyTurnTablePanel:BindEvent()
|
||
--帮助按钮
|
||
Util.AddClick(this.helpBtn,function()
|
||
UIManager.OpenPanel(UIName.HelpPopup,HELP_TYPE.LuckyTurn,this.helpPosition.x,this.helpPosition.y)
|
||
end)
|
||
--返回按钮
|
||
Util.AddClick(this.backBtn,function()
|
||
self:ClosePanel()
|
||
end)
|
||
--幸运探宝按钮
|
||
Util.AddClick(this.luckyTreasureBtn, function()
|
||
if LuckyTurnTableManager.curTreasureType == TreasureType.Lucky then
|
||
return
|
||
end
|
||
this.SwitchTreasureType(TreasureType.Lucky)
|
||
this.luckyTreasureBtn:SetActive(false)
|
||
this.advancedTreasureBtn:SetActive(true)
|
||
this.mask.transform.position = this.luckyTreasureBtn.transform.position
|
||
this.maskText.text = this.luckyTreasureText.text
|
||
this.maskTitle.sprite = this.luckyTreasureTitle.sprite
|
||
end)
|
||
|
||
--高级探宝按钮
|
||
Util.AddClick(this.advancedTreasureBtn, function()
|
||
if LuckyTurnTableManager.curTreasureType == TreasureType.Advanced then
|
||
return
|
||
end
|
||
this.SwitchTreasureType(TreasureType.Advanced)
|
||
this.luckyTreasureBtn:SetActive(true)
|
||
this.advancedTreasureBtn:SetActive(false)
|
||
this.mask.transform.position = this.advancedTreasureBtn.transform.position
|
||
this.maskText.text = this.advancedTreasureText.text
|
||
this.maskTitle.sprite = this.advancedTreasureTitle.sprite
|
||
end)
|
||
--幸运值奖励预览遮罩按钮
|
||
Util.AddClick(this.rewardPanelMaskBtn, function()
|
||
this.rewardPanelMaskBtn.gameObject:SetActive(false)
|
||
this.rewardPanel.gameObject:SetActive(false)
|
||
end)
|
||
|
||
Util.AddClick(this.btnPreview, function()
|
||
UIManager.OpenPanel(UIName.HeroPreviewPanel, 4, false)
|
||
end)
|
||
|
||
Util.AddClick(this.shopBtn, function()
|
||
UIManager.OpenPanel(UIName.MainShopPanel,61)
|
||
end)
|
||
end
|
||
|
||
---添加事件监听(用于子类重写)
|
||
function LuckyTurnTablePanel:AddListener()
|
||
Game.GlobalEvent:AddEvent(GameEvent.Activity.OnLuckyTableWorldMessage, this.ShowRecordMessage)
|
||
end
|
||
|
||
---移除事件监听(用于子类重写)
|
||
function LuckyTurnTablePanel:RemoveListener()
|
||
Game.GlobalEvent:RemoveEvent(GameEvent.Activity.OnLuckyTableWorldMessage, this.ShowRecordMessage)
|
||
end
|
||
|
||
---界面打开时调用(用于子类重写)
|
||
function LuckyTurnTablePanel:OnOpen(_TreasureType)
|
||
LuckyTurnTableManager.curTreasureType = _TreasureType and _TreasureType or TreasureType.Lucky
|
||
maxTimesCount = tonumber(ConfigManager.GetConfigData(ConfigName.SpecialConfig,53).Value)
|
||
end
|
||
|
||
---界面打开或者重新打开后,界面刷新时调用(用于子类重写)
|
||
function LuckyTurnTablePanel:OnShow()
|
||
this.maskBG.gameObject:SetActive(false)
|
||
if LuckyTurnTableManager.curTreasureType == TreasureType.Lucky then--防止当前为高级探宝时 按下探宝后跳转到幸运探宝
|
||
this.LuckyTurnOnShow(TreasureType.Lucky)
|
||
|
||
this.luckyTreasureBtn:SetActive(false)
|
||
this.advancedTreasureBtn:SetActive(true)
|
||
this.mask.transform.position = this.luckyTreasureBtn.transform.position
|
||
this.maskText.text = this.luckyTreasureText.text
|
||
this.maskTitle.sprite = this.luckyTreasureTitle.sprite
|
||
|
||
elseif LuckyTurnTableManager.curTreasureType == TreasureType.Advanced then
|
||
this.LuckyTurnOnShow(TreasureType.Advanced)
|
||
|
||
this.luckyTreasureBtn:SetActive(true)
|
||
this.advancedTreasureBtn:SetActive(false)
|
||
this.mask.transform.position = this.advancedTreasureBtn.transform.position
|
||
this.maskText.text = this.advancedTreasureText.text
|
||
this.maskTitle.sprite = this.advancedTreasureTitle.sprite
|
||
|
||
end
|
||
this.PlayerHeadFrameView:OnShow()
|
||
this.upView:OnOpen({ showType = UpViewOpenType.ShowRight, panelType = PanelType.LuckyTreasure })
|
||
|
||
-- this.mask.transform.position = this.luckyTreasureBtn.transform.position
|
||
-- this.maskTitle.sprite = this.luckyTreasureTitle.sprite
|
||
-- this.luckyTreasureBtn:SetActive(false)
|
||
-- this.advancedTreasureBtn:SetActive(true)
|
||
end
|
||
|
||
local sortingOrder = 0
|
||
---重设层级
|
||
function LuckyTurnTablePanel:OnSortingOrderChange()
|
||
sortingOrder = self.sortingOrder
|
||
for i, v in pairs(this.itemViewList) do
|
||
v:SetEffectLayer(sortingOrder)
|
||
end
|
||
end
|
||
|
||
---界面关闭时调用(用于子类重写)
|
||
function LuckyTurnTablePanel:OnClose()
|
||
RedpotManager.CheckRedPointStatus(RedPointType.LuckyTurn)
|
||
this.rewardPanel.gameObject:SetActive(false)
|
||
if this.thread then
|
||
coroutine.stop(this.thread)
|
||
this.thread = nil
|
||
end
|
||
if this.turnEffect then
|
||
this.turnEffect:Stop()
|
||
this.turnEffect = nil
|
||
end
|
||
if this.outsideLightTurnEffect then
|
||
this.outsideLightTurnEffect:Stop()
|
||
this.outsideLightTurnEffect = nil
|
||
end
|
||
if this.refreshTimer then
|
||
this.refreshTimer:Stop()
|
||
this.refreshTimer = nil
|
||
end
|
||
if this.timer then
|
||
this.timer:Stop()
|
||
this.timer = nil
|
||
end
|
||
if LuckyTurnTableManager._CountDownTimer then
|
||
LuckyTurnTableManager._CountDownTimer:Stop()
|
||
LuckyTurnTableManager._CountDownTimer = nil
|
||
end
|
||
|
||
LuckyTurnTableManager.ClearSaveData()
|
||
end
|
||
|
||
---界面销毁时调用(用于子类重写)
|
||
function LuckyTurnTablePanel:OnDestroy()
|
||
this.itemViewList = nil
|
||
this.rewardItemView = nil
|
||
SubUIManager.Close(this.upView)
|
||
end
|
||
|
||
---打开面板
|
||
function this.LuckyTurnOnShow(treasureType)
|
||
if not this.turnEffect then
|
||
this.turnEffect = Timer.New(nil,1,-1,true)
|
||
end
|
||
if not this.outsideLightTurnEffect then
|
||
this.outsideLightTurnEffect = Timer.New(nil,1,-1,true)
|
||
end
|
||
if not this.refreshTimer then
|
||
this.refreshTimer = Timer.New(nil,1,-1,true)
|
||
end
|
||
--初始化幸运探宝
|
||
this.SwitchTreasureType(treasureType)
|
||
this.SetTableTurnEffect(TableTurnType.Normal)
|
||
end
|
||
|
||
---切换探宝类型
|
||
function this.SwitchTreasureType(treasureType)
|
||
this.ClearDefault()
|
||
if treasureType == TreasureType.Lucky then
|
||
LuckyTurnTableManager.curTreasureType = treasureType
|
||
this.maxTimes.text = string.format(GetLanguageStrById(12260),LuckyTurnTableManager.luckyTimes,maxTimesCount)
|
||
|
||
this.upView:OnOpen({ showType = UpViewOpenType.ShowRight, panelType = PanelType.LuckyTreasure })
|
||
|
||
this.bg3:SetActive(false)
|
||
this.bg2:SetActive(true)
|
||
this.treasureOnceBtn:GetComponent("Image").sprite = Util.LoadSprite(GetPictureFont(BtnBg[1][1]))
|
||
this.treasureMultipleBtn:GetComponent("Image").sprite = Util.LoadSprite(GetPictureFont(BtnBg[1][2]))
|
||
this.bg1.color = BgColor[1]
|
||
|
||
--显示免费刷新状态
|
||
this.RefreshBtnCountDown()
|
||
|
||
--设置顶部按钮
|
||
this.luckyTreasureSelectBG:SetActive(true)
|
||
this.luckyTreasureText.text = GetLanguageStrById(11138)
|
||
--请求跑马灯物品数据
|
||
LuckyTurnTableManager.GetLuckyTurnRequest(function(msg)
|
||
this.SetItemViewShow(msg.posInfos,function()
|
||
this.SetItemViewGray(LuckyTurnTableManager.luckyData)
|
||
end)
|
||
end)
|
||
--立即刷新一次转盘记录
|
||
if LuckyTurnTableManager.isCanGetWorldMessage then
|
||
LuckyTurnTableManager.TimeUpdate()
|
||
end
|
||
--启动定时刷新转盘记录
|
||
LuckyTurnTableManager.StartLuckyTurnRecordDataUpdate()
|
||
--设置需要材料显示
|
||
this.SetPropShow(60,treasureType)
|
||
--探宝按钮显示
|
||
local oneData,moreData,icon = LuckyTurnTableManager.GetTreasureBtnInfo(treasureType)
|
||
this.SetTreasureBtnShow(oneData,moreData,icon)
|
||
--探宝泉预览
|
||
Util.AddOnceClick(this.propBtn,function()
|
||
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup,60)
|
||
end)
|
||
--探宝1次按钮
|
||
Util.AddOnceClick(this.treasureOnceBtn, function()
|
||
if LuckyTurnTableManager.GetTreasureTicketNum(treasureType) - oneData[2] >= 0
|
||
and LuckyTurnTableManager.luckyTimes + 1 <= maxTimesCount then
|
||
LuckyTurnTableManager.GetLuckyTurnRankRequest(TreasureType.Lucky,false,function()
|
||
ThinkingAnalyticsManager.Track("activity_turntable_start", {
|
||
activity_turntable_sart_luckycoin = LuckyTurnTableManager.GetTreasureTicketNum(treasureType)
|
||
})
|
||
this.SetTableTurnEffect(TableTurnType.Expedite,TreasureType.Lucky,LuckyTurnTableManager.luckyTempData.posInfos[1].pos)
|
||
this.SetPropShow(60,TreasureType.Lucky)--更新消耗道具显示
|
||
this.RrFreshInfo()
|
||
LuckyTurnTableManager.SetTimes(LuckyTurnTableManager.luckyTimes + 1)
|
||
this.maxTimes.text = string.format(GetLanguageStrById(12260),LuckyTurnTableManager.luckyTimes,maxTimesCount)
|
||
end)
|
||
else
|
||
--PopupTipPanel.ShowTip("幸运探宝券不足!")
|
||
if LuckyTurnTableManager.luckyTimes + 1 > maxTimesCount then
|
||
PopupTipPanel.ShowTipByLanguageId(12261)
|
||
return
|
||
else
|
||
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup,60,nil)
|
||
end
|
||
end
|
||
end)
|
||
--探宝10次按钮
|
||
Util.AddOnceClick(this.treasureMultipleBtn, function()
|
||
if LuckyTurnTableManager.GetTreasureTicketNum(treasureType)-moreData[2] >= 0
|
||
and LuckyTurnTableManager.luckyTimes + 15 <= maxTimesCount then
|
||
LuckyTurnTableManager.GetLuckyTurnRankRequest(TreasureType.Lucky,true,function()
|
||
ThinkingAnalyticsManager.Track("activity_turntable_start", {
|
||
activity_turntable_sart_luckycoin = LuckyTurnTableManager.GetTreasureTicketNum(treasureType)
|
||
})
|
||
this.SetTableTurnEffect(TableTurnType.Expedite,TreasureType.Lucky,LuckyTurnTableManager.luckyTempData.posInfos[1].pos)
|
||
this.SetPropShow(60,TreasureType.Lucky)--更新消耗道具显示
|
||
this.RrFreshInfo()
|
||
LuckyTurnTableManager.SetTimes(LuckyTurnTableManager.luckyTimes + 15)
|
||
this.maxTimes.text = string.format(GetLanguageStrById(12260),LuckyTurnTableManager.luckyTimes,maxTimesCount)
|
||
end)
|
||
else
|
||
--PopupTipPanel.ShowTip("幸运探宝券不足!")
|
||
if LuckyTurnTableManager.luckyTimes + 15 > maxTimesCount then
|
||
PopupTipPanel.ShowTipByLanguageId(12261)
|
||
return
|
||
else
|
||
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup,60,nil)
|
||
end
|
||
end
|
||
end)
|
||
--刷新按钮
|
||
Util.AddOnceClick(this.refreshBtn, function()
|
||
if BagManager.GetItemCountById(62) > 0 then--如果是免费刷新
|
||
this.PlayItemListAnim()
|
||
LuckyTurnTableManager.GetLuckyTurnRefreshRequest(TreasureType.Lucky,true,function()
|
||
ThinkingAnalyticsManager.Track("activity_turntable_refresh", {
|
||
activity_turntable_refresh_diamond = BagManager.GetItemCountById(16)
|
||
})
|
||
this.SetItemViewShow(LuckyTurnTableManager.luckyData,function()
|
||
this.SetItemViewGray(LuckyTurnTableManager.luckyData)
|
||
end)
|
||
this.RefreshBtnCountDown()
|
||
end)
|
||
else
|
||
if LuckyTurnTableManager.GetRefreshItemNum() - LuckyTurnTableManager.dialRewardSettingConfig[1].Cost[2][4] >= 0 then--如果材料够
|
||
this.PlayItemListAnim()
|
||
LuckyTurnTableManager.GetLuckyTurnRefreshRequest(TreasureType.Lucky,false,function()
|
||
ThinkingAnalyticsManager.Track("activity_turntable_refresh", {
|
||
activity_turntable_refresh_diamond = BagManager.GetItemCountById(16)
|
||
})
|
||
this.SetItemViewShow(LuckyTurnTableManager.luckyData,function()
|
||
this.SetItemViewGray(LuckyTurnTableManager.luckyData)
|
||
end)
|
||
this.RefreshBtnCountDown()
|
||
end)
|
||
else
|
||
PopupTipPanel.ShowTipByLanguageId(11139)
|
||
--UIManager.OpenPanel(UIName.ShopExchangePopup, SHOP_TYPE.FUNCTION_SHOP, 10013, "兑换妖晶")
|
||
end
|
||
end
|
||
end)
|
||
|
||
RedpotManager.CheckRedPointStatus(RedPointType.LuckyTurn)
|
||
this.RrFreshInfo()
|
||
elseif treasureType == TreasureType.Advanced then
|
||
LuckyTurnTableManager.curTreasureType = treasureType
|
||
|
||
this.maxTimes.text = string.format(GetLanguageStrById(12260),LuckyTurnTableManager.advanceTimes,maxTimesCount)
|
||
|
||
this.upView:OnOpen({ showType = UpViewOpenType.ShowRight, panelType = PanelType.AdvancedTreasure })
|
||
this.bg2:SetActive(false)
|
||
this.bg3:SetActive(true)
|
||
this.treasureOnceBtn:GetComponent("Image").sprite = Util.LoadSprite(GetPictureFont(BtnBg[2][1]))
|
||
this.treasureMultipleBtn:GetComponent("Image").sprite = Util.LoadSprite(GetPictureFont(BtnBg[2][2]))
|
||
this.bg1.color = BgColor[2]
|
||
|
||
this.RefreshBtnCountDown()
|
||
|
||
--设置顶部按钮
|
||
this.advancedTreasureSelectBG:SetActive(true)
|
||
this.advancedTreasureText.text = GetLanguageStrById(11140)
|
||
|
||
--请求跑马灯物品数据
|
||
LuckyTurnTableManager.GetLuckyTurnRequest(function(msg)
|
||
this.SetItemViewShow(msg.posInfosAdvance,function()
|
||
this.SetItemViewGray(LuckyTurnTableManager.advancedData)
|
||
end)
|
||
end)
|
||
--立即刷新一次转盘记录
|
||
if LuckyTurnTableManager.isCanGetWorldMessage then
|
||
LuckyTurnTableManager.TimeUpdate()
|
||
end
|
||
--启动定时刷新转盘记录
|
||
LuckyTurnTableManager.StartLuckyTurnRecordDataUpdate(treasureType)
|
||
|
||
--设置需要材料显示
|
||
this.SetPropShow(61,treasureType)
|
||
|
||
--探宝按钮显示
|
||
local oneData,moreData,icon = LuckyTurnTableManager.GetTreasureBtnInfo(treasureType)
|
||
this.SetTreasureBtnShow(oneData,moreData,icon)
|
||
--探宝泉预览
|
||
Util.AddOnceClick(this.propBtn,function()
|
||
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup,61)
|
||
end)
|
||
--探宝1次按钮
|
||
Util.AddOnceClick(this.treasureOnceBtn, function()
|
||
if LuckyTurnTableManager.GetTreasureTicketNum(treasureType) - oneData[2] >= 0 and LuckyTurnTableManager.advanceTimes + 1 <= maxTimesCount then
|
||
LuckyTurnTableManager.GetLuckyTurnRankRequest(TreasureType.Advanced,false,function()
|
||
ThinkingAnalyticsManager.Track("activity_highturn_start", {
|
||
activity_highturn_start_id = LuckyTurnTableManager.GetTreasureTicketNum(treasureType)
|
||
})
|
||
LuckyTurnTableManager.SetTimes(nil,LuckyTurnTableManager.advanceTimes + 1)
|
||
this.maxTimes.text = string.format(GetLanguageStrById(12260),LuckyTurnTableManager.advanceTimes,maxTimesCount)
|
||
|
||
this.SetTableTurnEffect(TableTurnType.Expedite,TreasureType.Advanced,LuckyTurnTableManager.advancedTempData.posInfos[1].pos)
|
||
this.SetPropShow(61,TreasureType.Advanced)
|
||
this.RrFreshInfo()
|
||
this.ShowRecordMessage(LuckyTurnTableManager.curTreasureType)
|
||
end)
|
||
else
|
||
if not RECHARGEABLE then--(是否开启充值)
|
||
PopupTipPanel.ShowTipByLanguageId(12262)
|
||
else
|
||
if LuckyTurnTableManager.advanceTimes + 1 > maxTimesCount then
|
||
PopupTipPanel.ShowTipByLanguageId(12249)
|
||
return
|
||
else
|
||
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup,61,nil)
|
||
end
|
||
end
|
||
end
|
||
end)
|
||
--探宝10次按钮
|
||
Util.AddOnceClick(this.treasureMultipleBtn, function()
|
||
if LuckyTurnTableManager.GetTreasureTicketNum(treasureType) - moreData[2] >= 0
|
||
and LuckyTurnTableManager.advanceTimes + 10 <= maxTimesCount then
|
||
LuckyTurnTableManager.GetLuckyTurnRankRequest(TreasureType.Advanced,true,function()
|
||
ThinkingAnalyticsManager.Track("activity_highturn_start", {
|
||
activity_highturn_start_id = LuckyTurnTableManager.GetTreasureTicketNum(treasureType)
|
||
})
|
||
LuckyTurnTableManager.SetTimes(nil,LuckyTurnTableManager.advanceTimes + 10)
|
||
this.maxTimes.text = string.format(GetLanguageStrById(12260),LuckyTurnTableManager.advanceTimes,maxTimesCount)
|
||
|
||
this.SetTableTurnEffect(TableTurnType.Expedite,TreasureType.Advanced,LuckyTurnTableManager.advancedTempData.posInfos[1].pos)
|
||
this.SetPropShow(61,TreasureType.Advanced)
|
||
this.RrFreshInfo()
|
||
this.ShowRecordMessage(LuckyTurnTableManager.curTreasureType)
|
||
end)
|
||
else
|
||
if not RECHARGEABLE then--(是否开启充值)
|
||
PopupTipPanel.ShowTipByLanguageId(12262)
|
||
else
|
||
if LuckyTurnTableManager.advanceTimes + 10 > maxTimesCount then
|
||
PopupTipPanel.ShowTipByLanguageId(12249)
|
||
return
|
||
else
|
||
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup,61,nil)
|
||
end
|
||
end
|
||
end
|
||
end)
|
||
--刷新按钮
|
||
Util.AddOnceClick(this.refreshBtn, function()
|
||
if BagManager.GetItemCountById(63) > 0 then
|
||
this.PlayItemListAnim()
|
||
LuckyTurnTableManager.GetLuckyTurnRefreshRequest(TreasureType.Advanced,true,function()
|
||
ThinkingAnalyticsManager.Track("activity_hightum_refreshcost", {
|
||
activity_highturn_refresh_diamond = 0
|
||
})
|
||
this.SetItemViewShow(LuckyTurnTableManager.advancedData,function()
|
||
this.SetItemViewGray(LuckyTurnTableManager.advancedData)
|
||
end)
|
||
this.RefreshBtnCountDown()
|
||
end)
|
||
else
|
||
if LuckyTurnTableManager.GetRefreshItemNum()-LuckyTurnTableManager.dialRewardSettingConfig[2].Cost[2][4] >= 0 then
|
||
this.PlayItemListAnim()
|
||
LuckyTurnTableManager.GetLuckyTurnRefreshRequest(TreasureType.Advanced,false,function()
|
||
ThinkingAnalyticsManager.Track("activity_hightum_refreshcost", {
|
||
activity_highturn_refresh_diamond = LuckyTurnTableManager.dialRewardSettingConfig[2].Cost[2][4]
|
||
})
|
||
this.SetItemViewShow(LuckyTurnTableManager.advancedData,function()
|
||
this.SetItemViewGray(LuckyTurnTableManager.advancedData)
|
||
end)
|
||
this.RefreshBtnCountDown()
|
||
end)
|
||
else
|
||
PopupTipPanel.ShowTipByLanguageId(11139)
|
||
end
|
||
end
|
||
end)
|
||
|
||
RedpotManager.CheckRedPointStatus(RedPointType.LuckyTurn)
|
||
this.RrFreshInfo()
|
||
end
|
||
this.mask.transform:SetAsLastSibling()
|
||
end
|
||
|
||
--重置默认
|
||
function this.ClearDefault()
|
||
this.luckyTreasureSelectBG:SetActive(false)
|
||
this.luckyTreasureText.text = GetLanguageStrById(11141)
|
||
this.advancedTreasureSelectBG:SetActive(false)
|
||
this.advancedTreasureText.text = GetLanguageStrById(11142)
|
||
--清除红点
|
||
Util.GetGameObject(this.luckyTreasureBtn,"redPoint"):SetActive(false)
|
||
Util.GetGameObject(this.advancedTreasureBtn,"redPoint"):SetActive(false)
|
||
for i = 1, 5 do
|
||
Util.GetGameObject(this.rewardBoxList[i],"redPoint"):SetActive(false)
|
||
end
|
||
|
||
-- for i = 1, 6 do
|
||
-- this.recordTextList[i].text = ""
|
||
-- end
|
||
end
|
||
|
||
--设置转盘滚动 1旋转类型 2探宝类型 3服务器给的探宝后位置
|
||
function this.SetTableTurnEffect(turnType,treasureType,pos)
|
||
if turnType == TableTurnType.Normal then --默认旋转
|
||
this.TurnEffectReset(0.5)
|
||
this.turnEffect:Start()
|
||
elseif turnType == TableTurnType.Expedite then --抽奖旋转 至指定位置
|
||
this.DelayMaskWithBool(true)
|
||
LuckyTurnTableManager.isCanGetWorldMessage = false
|
||
this.TurnEffectReset(0.05)
|
||
this.turnEffect:Start()
|
||
this.thread = coroutine.start(function()
|
||
-- coroutine.wait(0.4)
|
||
-- this.TurnEffectReset(0.1)
|
||
coroutine.wait(0.1)
|
||
this.TurnEffectReset(0.1,true,pos,function()--当效果播放完毕后 从管理器取得数据
|
||
local timer = Timer.New(function()
|
||
this.DelayMaskWithBool(false)
|
||
if treasureType == TreasureType.Lucky then
|
||
UIManager.OpenPanel(UIName.RewardItemPopup,LuckyTurnTableManager.luckyTempData.drop,1,function()
|
||
this.SetTableTurnEffect(TableTurnType.Normal)--恢复转盘旋转
|
||
LuckyTurnTableManager.isCanGetWorldMessage = true
|
||
end)--打开奖励弹窗
|
||
this.SetItemViewGray(LuckyTurnTableManager.luckyData)--刷新物品是否置灰
|
||
elseif treasureType == TreasureType.Advanced then
|
||
UIManager.OpenPanel(UIName.RewardItemPopup,LuckyTurnTableManager.advancedTempData.drop,1,function()
|
||
this.SetTableTurnEffect(TableTurnType.Normal)--恢复转盘旋转
|
||
LuckyTurnTableManager.isCanGetWorldMessage = true
|
||
end)
|
||
this.SetItemViewGray(LuckyTurnTableManager.advancedData)
|
||
end
|
||
end,0.5,1,true)
|
||
timer:Start()
|
||
end)
|
||
end)
|
||
end
|
||
end
|
||
|
||
--转盘滚动特效重设 1移动速度,值越小越快 2是否停止 3停止位置
|
||
function this.TurnEffectReset(turnSpeed,isStop,pos,func)
|
||
this.turnEffect:Reset(function()
|
||
if curTurnPos == 1 then
|
||
this.itemEffectIcon[8]:SetActive(false)
|
||
else
|
||
this.itemEffectIcon[curTurnPos-1]:SetActive(false)
|
||
end
|
||
if curTurnPos >= 9 then
|
||
curTurnPos = 1
|
||
end
|
||
if isStop then
|
||
if pos == curTurnPos then--如果停到对应位置
|
||
this.turnEffect:Stop()--暂停跑马灯
|
||
if func then--回调
|
||
func()
|
||
end
|
||
end
|
||
end
|
||
this.itemEffectIcon[curTurnPos]:SetActive(true)
|
||
curTurnPos = curTurnPos + 1
|
||
end,turnSpeed,-1,true)
|
||
end
|
||
|
||
--设置跑马灯物品显示 func确保先生成itemview 再置灰
|
||
function this.SetItemViewShow(data,func)
|
||
for i = 1, #this.itemViewList do
|
||
local tab = {LuckyTurnTableManager.dialRewardConfig[data[i].luckId].Reward[1],LuckyTurnTableManager.dialRewardConfig[data[i].luckId].Reward[2]}
|
||
this.itemViewList[i]:OnOpen(false, {tab[1],tab[2]},1, false, false, false, sortingOrder)
|
||
end
|
||
if func then
|
||
func()
|
||
end
|
||
end
|
||
|
||
--设置跑马灯物品置灰
|
||
function this.SetItemViewGray(data)
|
||
for i = 1, #data do
|
||
if LuckyTurnTableManager.dialRewardConfig[data[i].luckId].LimitNum ~= 0 then
|
||
Util.SetGray(this.itemViewList[i].gameObject,data[i].luckTimes >= LuckyTurnTableManager.dialRewardConfig[data[i].luckId].LimitNum)
|
||
end
|
||
if LuckyTurnTableManager.dialRewardConfig[data[i].luckId].LimitNum == 0 then
|
||
Util.SetGray(this.itemViewList[i].gameObject,false)
|
||
end
|
||
end
|
||
end
|
||
|
||
---跑马灯记录
|
||
function this.ShowRecordMessage(type)
|
||
if LuckyTurnTableManager.isCanGetWorldMessage then
|
||
local messageList = {}
|
||
messageList = LuckyTurnTableManager.GetShowDataByType(type)
|
||
for i = 1, 6 do
|
||
this.recordTextList[i].text = messageList[i]
|
||
if messageList[i] == "" or messageList[i] == nil then
|
||
this.recordTextList[i].gameObject:SetActive(false)
|
||
else
|
||
this.recordTextList[i].gameObject:SetActive(true)
|
||
end
|
||
end
|
||
end
|
||
end
|
||
|
||
--设置道具拥有显示 1道具id 2探宝类型
|
||
function this.SetPropShow(itemId,treasureType)
|
||
this.propImage.sprite = SetIcon(itemId)
|
||
this.propText.text = LuckyTurnTableManager.GetTreasureTicketNum(treasureType)
|
||
end
|
||
|
||
--探宝按钮显示
|
||
function this.SetTreasureBtnShow(oneData,moreData,icon)
|
||
this.treasureOnceText.text = GetLanguageStrById(11143)..oneData[1]..GetLanguageStrById(10054)
|
||
this.treasureOnceNum.text = oneData[2]
|
||
this.treasureOnceIcon.sprite = icon
|
||
this.treasureMultipleText.text = GetLanguageStrById(11143)..moreData[1]..GetLanguageStrById(10054)
|
||
this.treasureMultipleNum.text = moreData[2]
|
||
this.treasureMultipleIcon.sprite = icon
|
||
end
|
||
|
||
--------------------------------免费刷新--------------------------------
|
||
--打开、切换活动界面,刷新倒计时
|
||
function this.RefreshBtnCountDown()
|
||
if LuckyTurnTableManager.curTreasureType == TreasureType.Lucky then
|
||
if this.refreshTimer then
|
||
this.refreshTimer:Stop()
|
||
end
|
||
if BagManager.GetItemCountById(62) > 0 then
|
||
--显示免费刷新
|
||
this.SetRefreshBtnShowState(true)
|
||
this.freeRefreshTime.text = " "
|
||
else
|
||
--显示道具刷新
|
||
this.SetRefreshBtnShowState(false)
|
||
--因转换时间计算精度问题 在有免费刷新 未刷新状态下操作
|
||
local time = BagManager.GetNextRefreshTime(62) - GetTimeStamp()
|
||
local intervalTime = LuckyTurnTableManager.GetItemRecoverTime(62)
|
||
if time > intervalTime then
|
||
time = intervalTime
|
||
end
|
||
this.freeRefreshTime.text = TimeToHMS(time)--立即刷新一次
|
||
this.refreshTimer:Reset(function()
|
||
if time < 0 then
|
||
time = 0
|
||
this.refreshTimer:Stop()
|
||
this.SetRefreshBtnShowState(true)
|
||
NetManager.GetRefreshCountDownRequest({62})
|
||
end
|
||
time = time - 1
|
||
this.freeRefreshTime.text = TimeToHMS(time)
|
||
end,1,-1,true)
|
||
this.refreshTimer:Start()
|
||
end
|
||
elseif LuckyTurnTableManager.curTreasureType == TreasureType.Advanced then
|
||
this.refreshTimer:Stop()
|
||
if BagManager.GetItemCountById(63) > 0 then
|
||
--显示免费刷新
|
||
this.SetRefreshBtnShowState(true)
|
||
this.freeRefreshTime.text = " "--" 0:00:00"
|
||
else
|
||
--显示道具刷新
|
||
this.SetRefreshBtnShowState(false)
|
||
local time = BagManager.GetNextRefreshTime(63)-GetTimeStamp()
|
||
local intervalTime = LuckyTurnTableManager.GetItemRecoverTime(63)
|
||
if time > intervalTime then
|
||
time = intervalTime
|
||
end
|
||
this.freeRefreshTime.text = TimeToHMS(time)--立即刷新一次
|
||
this.refreshTimer:Reset(function()
|
||
if time < 0 then
|
||
this.refreshTimer:Stop()
|
||
time = 0
|
||
this.SetRefreshBtnShowState(true)
|
||
NetManager.GetRefreshCountDownRequest({63})
|
||
end
|
||
time = time-1
|
||
this.freeRefreshTime.text = TimeToHMS(time)
|
||
end,1,-1,true)
|
||
this.refreshTimer:Start()
|
||
end
|
||
end
|
||
end
|
||
|
||
---控制刷新按钮的显示状态 1是否免费
|
||
function this.SetRefreshBtnShowState(isFree)
|
||
if isFree then
|
||
this.freeDetail:SetActive(true)
|
||
this.detail:SetActive(false)
|
||
else
|
||
this.freeDetail:SetActive(false)
|
||
this.detail:SetActive(true)
|
||
if LuckyTurnTableManager.curTreasureType == TreasureType.Lucky then
|
||
this.costItemImage.sprite = SetIcon(LuckyTurnTableManager.dialRewardSettingConfig[1].Cost[1][1])
|
||
this.costItemNumText.text = LuckyTurnTableManager.dialRewardSettingConfig[1].Cost[2][4]--..GetLanguageStrById(11144)
|
||
end
|
||
if LuckyTurnTableManager.curTreasureType == TreasureType.Advanced then
|
||
this.costItemImage.sprite = SetIcon(LuckyTurnTableManager.dialRewardSettingConfig[2].Cost[1][1])
|
||
this.costItemNumText.text = LuckyTurnTableManager.dialRewardSettingConfig[2].Cost[2][4]--..GetLanguageStrById(11144)
|
||
end
|
||
end
|
||
end
|
||
|
||
---播放刷新动画
|
||
function this.PlayItemListAnim()
|
||
this.DelayMaskWithTime(1.5)
|
||
for i = 1, 8 do
|
||
this.itemList[i]:GetComponent("PlayFlyAnim"):PlayAnim(true)
|
||
end
|
||
|
||
for i = 1, #this.itemViewCurPos do
|
||
this.itemList[i].transform.position = this.itemViewCurPos[i]
|
||
end
|
||
end
|
||
-----------------------------------------------------------------------
|
||
|
||
---本地检查红点 幸运高级按钮
|
||
function this.CheckRedPoint()
|
||
for i = 1, #this.rewardBoxList do
|
||
if LuckyTurnTableManager.value_1 >= LuckyTurnTableManager.boxReward_One[i].Values[1][1] then
|
||
Util.GetGameObject(this.luckyTreasureBtn,"redPoint"):SetActive(LuckyTurnTableManager.GetRewardState(30,LuckyTurnTableManager.boxReward_One[i].Id)==0)
|
||
end
|
||
if LuckyTurnTableManager.value_2 >= LuckyTurnTableManager.boxReward_Two[i].Values[1][1] then
|
||
Util.GetGameObject(this.advancedTreasureBtn,"redPoint"):SetActive(LuckyTurnTableManager.GetRewardState(31,LuckyTurnTableManager.boxReward_Two[i].Id)==0)
|
||
end
|
||
end
|
||
end
|
||
|
||
---设置奖盒
|
||
function this.SetRewardBox()
|
||
if LuckyTurnTableManager.curTreasureType == TreasureType.Lucky then
|
||
for i = 1, 5 do
|
||
local BG1 = Util.GetGameObject(this.rewardBoxList[i],"BG1"):GetComponent("Image")
|
||
local BG2 = Util.GetGameObject(this.rewardBoxList[i],"BG1/BG2"):GetComponent("Image")
|
||
local baoxiang = Util.GetGameObject(this.rewardBoxList[i],"BG1/UI_baoxiang")
|
||
|
||
Util.GetGameObject(this.rewardBoxList[i],"Value"):GetComponent("Text").text = LuckyTurnTableManager.boxReward_One[i].Values[1][1]
|
||
BG2.sprite = SetIcon(LuckyTurnTableManager.boxReward_One[i].Reward[1][1])
|
||
BG1.sprite = SetFrame(LuckyTurnTableManager.boxReward_One[i].Reward[1][1])
|
||
Util.GetGameObject(this.rewardBoxList[i],"yilingqu"):SetActive(false)
|
||
|
||
--显示奖盒红点
|
||
--BG1:灰色合箱子 BG2:灰色开箱子 BG3:彩色合箱子
|
||
if LuckyTurnTableManager.value_1 >= LuckyTurnTableManager.boxReward_One[i].Values[1][1] then
|
||
if LuckyTurnTableManager.GetRewardState(30,LuckyTurnTableManager.boxReward_One[i].Id) == 0 then
|
||
Util.GetGameObject(this.rewardBoxList[i],"redPoint"):SetActive(true)
|
||
BG1.material = nil
|
||
BG2.material = nil
|
||
baoxiang:SetActive(true)
|
||
else--奖励已领取
|
||
BG1.material = this.material
|
||
BG2.material = this.material
|
||
baoxiang:SetActive(false)
|
||
Util.GetGameObject(this.rewardBoxList[i],"yilingqu"):SetActive(true)
|
||
end
|
||
else--幸运值未超过该箱子
|
||
BG1.material = this.material
|
||
BG2.material = this.material
|
||
baoxiang:SetActive(false)
|
||
end
|
||
|
||
Util.AddOnceClick(this.rewardBoxList[i], function()
|
||
RedpotManager.CheckRedPointStatus(RedPointType.LuckyTurn)
|
||
--如果幸运值达到奖励要求值
|
||
if LuckyTurnTableManager.value_1 >= LuckyTurnTableManager.boxReward_One[i].Values[1][1] then
|
||
--奖励未领取 先请求领取
|
||
if LuckyTurnTableManager.GetRewardState(30,LuckyTurnTableManager.boxReward_One[i].Id) == 0 then
|
||
NetManager.GetActivityRewardRequest(LuckyTurnTableManager.boxReward_One[i].Id, 30,function(drop)
|
||
ThinkingAnalyticsManager.Track("activity_turntable_reward", {
|
||
activity_turntable_reward_luckynum = LuckyTurnTableManager.value_1
|
||
})
|
||
UIManager.OpenPanel(UIName.RewardItemPopup,drop)
|
||
Util.GetGameObject(this.rewardBoxList[i],"redPoint"):SetActive(false)--隐藏红点
|
||
this.RrFreshInfo()
|
||
end)
|
||
else--奖励已领取 可预览
|
||
-- this.OpenRewardPreview(LuckyTurnTableManager.boxReward_One,i)
|
||
-- print(LuckyTurnTableManager.boxReward_One[i].Values[1][1])
|
||
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, LuckyTurnTableManager.boxReward_One[i].Reward[1][1])
|
||
end
|
||
else
|
||
--奖励不可领,可预览
|
||
-- this.OpenRewardPreview(LuckyTurnTableManager.boxReward_One,i)
|
||
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, LuckyTurnTableManager.boxReward_One[i].Reward[1][1])
|
||
end
|
||
end)
|
||
end
|
||
elseif LuckyTurnTableManager.curTreasureType==TreasureType.Advanced then
|
||
for i = 1, 5 do
|
||
local BG1 = Util.GetGameObject(this.rewardBoxList[i],"BG1"):GetComponent("Image")
|
||
local BG2 = Util.GetGameObject(this.rewardBoxList[i],"BG1/BG2"):GetComponent("Image")
|
||
local baoxiang = Util.GetGameObject(this.rewardBoxList[i],"BG1/UI_baoxiang")
|
||
Util.GetGameObject(this.rewardBoxList[i],"Value"):GetComponent("Text").text = LuckyTurnTableManager.boxReward_Two[i].Values[1][1]
|
||
BG2.sprite = SetIcon(LuckyTurnTableManager.boxReward_Two[i].Reward[1][1])
|
||
BG1.sprite = SetFrame(LuckyTurnTableManager.boxReward_Two[i].Reward[1][1])
|
||
Util.GetGameObject(this.rewardBoxList[i],"yilingqu"):SetActive(false)
|
||
--显示红点
|
||
if LuckyTurnTableManager.value_2>=LuckyTurnTableManager.boxReward_Two[i].Values[1][1] then
|
||
if LuckyTurnTableManager.GetRewardState(31,LuckyTurnTableManager.boxReward_Two[i].Id)==0 then
|
||
Util.GetGameObject(this.rewardBoxList[i],"redPoint"):SetActive(true)
|
||
BG1.material = nil
|
||
BG2.material = nil
|
||
baoxiang:SetActive(true)
|
||
else
|
||
BG1.material = this.material
|
||
BG2.material = this.material
|
||
baoxiang:SetActive(false)
|
||
Util.GetGameObject(this.rewardBoxList[i],"yilingqu"):SetActive(true)
|
||
end
|
||
else
|
||
BG1.material = this.material
|
||
BG2.material = this.material
|
||
baoxiang:SetActive(false)
|
||
end
|
||
Util.AddOnceClick(this.rewardBoxList[i], function()
|
||
RedpotManager.CheckRedPointStatus(RedPointType.LuckyTurn)
|
||
if LuckyTurnTableManager.value_2 >= LuckyTurnTableManager.boxReward_Two[i].Values[1][1] then
|
||
if LuckyTurnTableManager.GetRewardState(31, LuckyTurnTableManager.boxReward_Two[i].Id) == 0 then
|
||
NetManager.GetActivityRewardRequest(LuckyTurnTableManager.boxReward_Two[i].Id, 31,function(drop)
|
||
ThinkingAnalyticsManager.Track("activity_highturn_reward", {
|
||
activity_highturn_reward_luckynum = LuckyTurnTableManager.value_2
|
||
})
|
||
UIManager.OpenPanel(UIName.RewardItemPopup,drop)
|
||
Util.GetGameObject(this.rewardBoxList[i],"redPoint"):SetActive(false)--隐藏红点
|
||
this.RrFreshInfo()
|
||
end)
|
||
else
|
||
-- this.OpenRewardPreview(LuckyTurnTableManager.boxReward_Two,i)
|
||
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, LuckyTurnTableManager.boxReward_Two[i].Reward[1][1])
|
||
end
|
||
else
|
||
-- this.OpenRewardPreview(LuckyTurnTableManager.boxReward_Two,i)
|
||
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, LuckyTurnTableManager.boxReward_Two[i].Reward[1][1])
|
||
end
|
||
end)
|
||
end
|
||
end
|
||
end
|
||
|
||
---奖盒滑动条奖励背景切换
|
||
function this.RewardBgProgress()
|
||
-- for i = 1, 4 do
|
||
-- local bg=Util.GetGameObject(this.rewardBoxList[i],"BG"):GetComponent("Image")
|
||
-- if LuckyTurnTableManager.curTreasureType==TreasureType.Lucky then
|
||
-- if LuckyTurnTableManager.value_1>=LuckyTurnTableManager.boxReward_One[i].Values[1][1] then
|
||
-- -- bg.sprite=Util.LoadSprite(RewardName[2]) --m5
|
||
-- else
|
||
-- -- bg.sprite=Util.LoadSprite(RewardName[1]) --m5
|
||
-- end
|
||
-- elseif LuckyTurnTableManager.curTreasureType==TreasureType.Advanced then
|
||
-- if LuckyTurnTableManager.value_2>=LuckyTurnTableManager.boxReward_Two[i].Values[1][1] then
|
||
-- -- bg.sprite=Util.LoadSprite(RewardName[2]) --m5
|
||
-- else
|
||
-- -- bg.sprite=Util.LoadSprite(RewardName[1]) --m5
|
||
-- end
|
||
-- end
|
||
-- -- bg:SetNativeSize()
|
||
-- end
|
||
end
|
||
|
||
---设置奖盒预览信息 并打开面板
|
||
function this.OpenRewardPreview(boxReward,i)
|
||
--设置奖励预览信息 并打开面板
|
||
local tab = {boxReward[i].Reward[1][1],boxReward[i].Reward[1][2]}
|
||
this.rewardItemView:OnOpen(false, {tab[1],tab[2]},1, false, false, false, sortingOrder)
|
||
|
||
this.rewardPanelMaskBtn.gameObject:SetActive(true)
|
||
this.rewardPanel.gameObject:SetActive(true)
|
||
end
|
||
|
||
local luckyLevels = {0.2,0.42,0.63,0.83,1}--幸运值条到达档位时实际位置
|
||
|
||
---刷新幸运值
|
||
function this.RefreshLuckyValue()
|
||
if LuckyTurnTableManager.curTreasureType == TreasureType.Lucky then
|
||
LuckyTurnTableManager.SetLuckyValue()
|
||
local data = LuckyTurnTableManager.GetLuckyValue()
|
||
|
||
this.luckySlider.minValue = 0
|
||
this.luckySlider.maxValue = LuckyTurnTableManager.boxReward_One[5].Values[1][1]
|
||
this.luckyValueNum.text = data--.."/"..LuckyTurnTableManager.boxReward_One[5].Values[1][1]
|
||
|
||
--确定档位
|
||
local nowLevel = 5--如果data超过最高档位,认为是最高档位
|
||
for i = 1,5 do
|
||
if data <= LuckyTurnTableManager.boxReward_One[i].Values[1][1] then
|
||
nowLevel = i
|
||
break
|
||
end
|
||
end
|
||
|
||
local pLevelValue = 0--上一档值
|
||
local pLuckyLevel = 0--上一档幸运条值
|
||
if nowLevel > 1 then
|
||
pLevelValue = LuckyTurnTableManager.boxReward_One[nowLevel-1].Values[1][1]
|
||
pLuckyLevel = luckyLevels[nowLevel-1]
|
||
end
|
||
|
||
local nowLevelValue = LuckyTurnTableManager.boxReward_One[nowLevel].Values[1][1]--当前档值
|
||
local LevelValue = luckyLevels[nowLevel]--当前档幸运条值
|
||
local sliderValue = (data-pLevelValue)/(nowLevelValue-pLevelValue)*(LevelValue-pLuckyLevel)+pLuckyLevel
|
||
this.luckySlider.value = data
|
||
|
||
elseif LuckyTurnTableManager.curTreasureType == TreasureType.Advanced then
|
||
LuckyTurnTableManager.SetLuckyValue()
|
||
local data = LuckyTurnTableManager.GetLuckyValue()
|
||
|
||
this.luckySlider.minValue = 0
|
||
this.luckySlider.maxValue = LuckyTurnTableManager.boxReward_Two[5].Values[1][1]
|
||
this.luckyValueNum.text = data --.."/"..LuckyTurnTableManager.boxReward_Two[5].Values[1][1]
|
||
|
||
--确定档位
|
||
local nowLevel = 5
|
||
for i = 1,5 do
|
||
if data <= LuckyTurnTableManager.boxReward_Two[i].Values[1][1] then
|
||
nowLevel = i
|
||
break
|
||
end
|
||
end
|
||
|
||
local pLevelValue = 0--上一档值
|
||
local pLuckyLevel = 0--上一档幸运条值
|
||
if nowLevel > 1 then
|
||
pLevelValue = LuckyTurnTableManager.boxReward_Two[nowLevel-1].Values[1][1]
|
||
pLuckyLevel = luckyLevels[nowLevel-1]
|
||
end
|
||
|
||
local nowLevelValue = LuckyTurnTableManager.boxReward_Two[nowLevel].Values[1][1]--当前档值
|
||
local LevelValue = luckyLevels[nowLevel]--当前档幸运条值
|
||
local sliderValue = (data-pLevelValue)/(nowLevelValue-pLevelValue)*(LevelValue-pLuckyLevel)+pLuckyLevel
|
||
this.luckySlider.value = data
|
||
end
|
||
end
|
||
|
||
---刷新信息
|
||
function this.RrFreshInfo()
|
||
this.RefreshLuckyValue()
|
||
this.CheckRedPoint()
|
||
this.SetRewardBox()
|
||
this.RewardBgProgress()
|
||
RedpotManager.CheckRedPointStatus(RedPointType.LuckyTurn)
|
||
end
|
||
|
||
---延时遮罩 1按时间
|
||
function this.DelayMaskWithTime(delayTime)
|
||
this.maskBG.gameObject:SetActive(true)
|
||
this.allMask:SetActive(true)
|
||
local closeMask = Timer.New(function()
|
||
this.maskBG.gameObject:SetActive(false)
|
||
this.allMask:SetActive(false)
|
||
end,delayTime,1,true)
|
||
closeMask:Start()
|
||
end
|
||
---延时遮罩 1按bool
|
||
function this.DelayMaskWithBool(b)
|
||
if b then
|
||
this.maskBG.gameObject:SetActive(true)
|
||
this.allMask:SetActive(true)
|
||
else
|
||
this.maskBG.gameObject:SetActive(false)
|
||
this.allMask:SetActive(false)
|
||
end
|
||
end
|
||
|
||
|
||
return LuckyTurnTablePanel |