玲珑宝镜修改提交

dev_chengFeng
jiaoyangna 2021-06-10 15:36:59 +08:00
parent f3d0a2cc69
commit d72a7b79e0
9 changed files with 7247 additions and 1 deletions

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 057f7b48d96aaaf4ca1fd2d3a29d4dc8
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 62ef169972a4539459cf7b8ebd38b292
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 600f1a9ab76a71344b57cd32f4a55e51
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,395 @@
local LuckyTurnTablePanel = {}
local rechargeNum = 0
---转盘旋转类型
local TableTurnType={
Normal=1,--默认旋转
Expedite=2,--加快旋转
}
local curTurnPos=1 --当前位置
local sortingOrder = 0
function LuckyTurnTablePanel:New(gameObject)
local b = {}
b.gameObject = gameObject
b.transform = gameObject.transform
setmetatable(b, { __index = LuckyTurnTablePanel })
return b
end
---初始化组件(用于子类重写)
function LuckyTurnTablePanel:InitComponent(gameObject)
self.spLoader = SpriteLoader.New()
self.luckyTurnPanel = Util.GetGameObject(self.gameObject,"Panel")
self.upView = SubUIManager.Open(SubUIConfig.UpView, self.luckyTurnPanel.transform, { showType = UpViewOpenType.ShowLeft })
self.mask = Util.GetGameObject(self.luckyTurnPanel,"Mask")
self.title = Util.GetGameObject(self.luckyTurnPanel,"BG/title"):GetComponent("Image")
---跑马灯位置(物品位置)
self.itemList = {}
self.itemViewList = {}
for i = 1,2 do
if not self.itemList[i] then
self.itemList[i] = {}
end
self.itemList[i].go = Util.GetGameObject(self.luckyTurnPanel, "TurnTable/ItemList"..i)
self.itemList[i].pre = Util.GetGameObject(self.luckyTurnPanel, "TurnTable/pre"..i)
for j = 1,self.itemList[i].go.transform.childCount do
if not self.itemList[i][j] then
self.itemList[i][j] = {}
end
self.itemList[i][j].pos = Util.GetGameObject(self.itemList[i].go, "item"..j)
self.itemList[i][j].item = newObjToParent(self.itemList[i].pre,self.itemList[i][j].pos)
self.itemList[i][j].mask = Util.GetGameObject(self.itemList[i][j].item, "bg/mask")
self.itemList[i][j].itemPos = Util.GetGameObject(self.itemList[i][j].item, "itemPos")
self.itemList[i][j].get = Util.GetGameObject(self.itemList[i][j].item, "get")
self.itemList[i][j].selectKuang = Util.GetGameObject(self.itemList[i][j].item, "selectKuang")
self.itemList[i][j].itemView = SubUIManager.Open(SubUIConfig.ItemView, self.itemList[i][j].itemPos)
self.itemList[i][j].itemView.gameObject:SetActive(false)
end
end
--拥有道具数量
self.propBtn = Util.GetGameObject(self.luckyTurnPanel,"button/Prop")
self.propImage = Util.GetGameObject(self.luckyTurnPanel, "button/Prop/PropImage"):GetComponent("Image")--道具
self.propText =Util.GetGameObject(self.luckyTurnPanel, "button/Prop/PropText"):GetComponent("Text")
-- 奖励预览
self.btnPreview = Util.GetGameObject(self.gameObject, "button/previewBtn")
self.helpBtn = Util.GetGameObject(self.luckyTurnPanel,"button/helpBtn")
self.helpPosition = Util.GetGameObject(self.luckyTurnPanel,"BG/helpPos"):GetComponent("RectTransform").localPosition
self.slider = Util.GetGameObject(self.luckyTurnPanel,"Slider")
self.luckyValueNum = Util.GetGameObject(self.slider, "LuckyValue/LuckyValueNum"):GetComponent("Text")--幸运值
self.luckySlider = Util.GetGameObject(self.slider, "LuckySlider"):GetComponent("Slider")
self.rewardBoxList={}--奖励盒
self.rewardBox=Util.GetGameObject(self.slider,"RewardBox")
for i=1,5 do
self.rewardBoxList[i]=Util.GetGameObject(self.rewardBox,"Item"..i)
end
self.itemRewardList = {}
end
---绑定事件(用于子类重写)
function LuckyTurnTablePanel:BindEvent()
--帮助按钮
Util.AddClick(self.helpBtn,function()
--Log("==YSP==点击帮助按钮")
UIManager.OpenPanel(UIName.HelpPopup,HELP_TYPE.LuckyTurn,self.helpPosition.x,self.helpPosition.y)
end)
Util.AddClick(self.btnPreview, function()
UIManager.OpenPanel(UIName.RewardPreviewPopup)
end)
end
---添加事件监听(用于子类重写)
function LuckyTurnTablePanel:AddListener()
end
---移除事件监听(用于子类重写)
function LuckyTurnTablePanel:RemoveListener()
end
--界面打开时调用(用于子类重写)
function LuckyTurnTablePanel:OnOpen(_activityConfig,_index,parent)
self.actConfig = _activityConfig
self.pageIndex = _index
self.parent = parent
end
function LuckyTurnTablePanel:OnSortingOrderChange(_sortingOrder)
self.sortingOrder = _sortingOrder
end
-- 打开,重新打开时回调
function LuckyTurnTablePanel:OnShow()
self.gameObject:SetActive(true)
Util.SetParticleSortLayer(self.UI_Effect_jinkuang_Yuan, self.sortingOrder+1)
self.extra:SetActive(true)
self.actId = self.actConfig.ActId
self.actType = self.actConfig.ActiveType > 0 and self.actConfig.ActiveType or self.actConfig.FunType
if self.actConfig.IfBack == 1 then
if self.actConfig.ActiveType > 0 then
local id = ActivityGiftManager.IsActivityTypeOpen(self.actConfig.ActiveType)
if id and id > 0 then
self.actId = id
local config = ConfigManager.TryGetConfigDataByThreeKey(ConfigName.ActivityGroups,"PageType",self.actConfig.PageType,"ActiveType",self.actConfig.ActiveType,"ActId",id)
if config then
self.actConfig = config
end
end
end
end
if self.actConfig.Icon[3] and self.actConfig.Icon[3] ~= "" and self.actConfig.Icon[3] ~= "0" then
self.titleBgIma.enabled = true
self.titleBgIma.sprite = self.spLoader:LoadSprite(self.actConfig.Icon[3])
else
self.titleBgIma.enabled = false
end
if self.actConfig.Icon[4] and self.actConfig.Icon[4] ~= "" then
self.titleIma.gameObject:SetActive(true)
self.titleIma.sprite = self.spLoader:LoadSprite(self.actConfig.Icon[4])
self.titleIma:SetNativeSize()
self.titleIma.transform.localPosition = Vector3.New(self.actConfig.TitleImapos[1],self.actConfig.TitleImapos[2],self.actConfig.TitleImapos[3])
else
self.titleIma.gameObject:SetActive(false)
end
if self.actConfig.TitleText and self.actConfig.TitleText ~= "" then
local str = string.split(GetLanguageStrById(self.actConfig.TitleText),"|")
self.titleTip.text = str[1]
self.titleTip.transform.localPosition = Vector3.New((str[2] or 0),(str[3] or 0),(str[4] or 0))
self.titleTip.gameObject:SetActive(true)
else
self.titleTip.gameObject:SetActive(false)
end
if self.actConfig.Id == 63 then
VipManager.SetGrowthPackagePointStatus()
CheckRedPointStatus(RedPointType.GrowthPackage)
end
self:RefreshBanner()
self:RefreshData(true,true,true)
end
---界面关闭时调用(用于子类重写)
function LuckyTurnTablePanel:OnClose()
if self.thread then
coroutine.stop(self.thread)
self.thread=nil
end
if self.turnEffect then
self.turnEffect:Stop()
self.turnEffect=nil
end
end
---界面销毁时调用(用于子类重写)
function LuckyTurnTablePanel:OnDestroy()
self.spLoader:Destroy()
SubUIManager.Close(self.upView)
end
---打开面板
function self.LuckyTurnOnShow(treasureType)
if not self.turnEffect then
self.turnEffect=Timer.New(nil,1,-1,true)
end
end
---切换探宝类型
function self.SwitchTreasureType(treasureType)
--请求跑马灯物品数据
LuckyTurnTableManager.GetLuckyTurnRequest(function(msg)
self.SetItemViewShow(msg.posInfos,function()
self.SetItemViewGray(LuckyTurnTableManager.luckyData)
end)
end)
--探宝10次按钮
Util.AddOnceClick(self.treasureMultipleBtn, function()
if LuckyTurnTableManager.GetTreasureTicketNum(treasureType)-moreData[2]>=0
and LuckyTurnTableManager.advanceTimes + 10 <= maxTimesCount then
LuckyTurnTableManager.GetLuckyTurnRankRequest(TreasureType.Advanced,true,function()
LuckyTurnTableManager.SetTimes(nil,LuckyTurnTableManager.advanceTimes + 10)
self.maxTimes.text =string.format(Language[11156],LuckyTurnTableManager.advanceTimes,maxTimesCount)
--Log("==YSP== 高级探宝返回的是什么"..tostring(LuckyTurnTableManager.advancedTempData))
self.SetTableTurnEffect(TableTurnType.Expedite,TreasureType.Advanced,LuckyTurnTableManager.advancedTempData.posInfos[1].pos)
self.SetPropShow(61,TreasureType.Advanced)
self.RrFreshInfo()
end)
else
if not RECHARGEABLE then--(是否开启充值)
PopupTipPanel.ShowTip(Language[11160])
else
if LuckyTurnTableManager.advanceTimes + 10 > maxTimesCount then
PopupTipPanel.ShowTip(Language[11158])
return
else
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup,61,nil)
end
end
end
end)
self.RrFreshInfo()
self.mask.transform:SetAsLastSibling();
end
---设置转盘滚动 1旋转类型 2探宝类型 3服务器给的探宝后位置
function self.SetTableTurnEffect(turnType,treasureType,pos)
if turnType==TableTurnType.Normal then --默认旋转
self.TurnEffectReset(0.5)
self.turnEffect:Start()
elseif turnType==TableTurnType.Expedite then --抽奖旋转 至指定位置
self.DelayMaskWithBool(true)
LuckyTurnTableManager.isCanGetWorldMessage=false
self.TurnEffectReset(0.05)
self.turnEffect:Start()
self.thread=coroutine.start(function()
coroutine.wait(1)--2
self.TurnEffectReset(0.2)
coroutine.wait(0.4)--0.8
self.TurnEffectReset(0.4,true,pos,function()--当效果播放完毕后 从管理器取得数据
local timer=Timer.New(function()
self.DelayMaskWithBool(false)
if treasureType==TreasureType.Lucky then
UIManager.OpenPanel(UIName.RewardItemPopup,LuckyTurnTableManager.luckyTempData.drop,1,function()
self.SetTableTurnEffect(TableTurnType.Normal)--恢复转盘旋转
LuckyTurnTableManager.isCanGetWorldMessage=true
end)--打开奖励弹窗
self.SetItemViewGray(LuckyTurnTableManager.luckyData)--刷新物品是否置灰
elseif treasureType==TreasureType.Advanced then
UIManager.OpenPanel(UIName.RewardItemPopup,LuckyTurnTableManager.advancedTempData.drop,1,function()
self.SetTableTurnEffect(TableTurnType.Normal)--恢复转盘旋转
LuckyTurnTableManager.isCanGetWorldMessage=true
end)
self.SetItemViewGray(LuckyTurnTableManager.advancedData)
end
end,0.5,1,true)
timer:Start()
end)
end)
end
end
---转盘滚动特效重设 1移动速度值越小越快 2是否停止 3停止位置
function self.TurnEffectReset(turnSpeed,isStop,pos,func)
self.turnEffect:Reset(function()
if curTurnPos==1 then
self.itemEffectIcon[8]:SetActive(false)
else
self.itemEffectIcon[curTurnPos-1]:SetActive(false)
end
if curTurnPos>=9 then
curTurnPos=1
end
if isStop then
if pos==curTurnPos then--如果停到对应位置
self.turnEffect:Stop()--暂停跑马灯
if func then--回调
func()
end
end
end
self.itemEffectIcon[curTurnPos]:SetActive(true)
curTurnPos=curTurnPos+1
end,turnSpeed,-1,true)
end
---设置跑马灯物品显示 func确保先生成itemview 再置灰
function self.SetItemViewShow(data,func)
for i = 1, #self.itemViewList do
local tab={LuckyTurnTableManager.dialRewardConfig[data[i].luckId].Reward[1],LuckyTurnTableManager.dialRewardConfig[data[i].luckId].Reward[2]}
self.itemViewList[i]:OnOpen(false, {tab[1],tab[2]},1, false, false, false, sortingOrder)
local qua= LuckyTurnTableManager.dialRewardConfig[data[i].luckId].Rare
self.itemQuality[i].sprite = self.spLoader:LoadSprite(quaImage[qua])
self.itemQuality[i]:SetNativeSize()
if qua > 0 then
self.itemQuality[i].gameObject:SetActive(true)
self.itemQuality[i].transform:SetAsLastSibling()
else
self.itemQuality[i].gameObject:SetActive(false)
end
end
if func then
func()
end
end
---设置跑马灯物品置灰
function self.SetItemViewGray(data)
for i = 1, #data do
if LuckyTurnTableManager.dialRewardConfig[data[i].luckId].LimitNum~=0 then
local isGray = data[i].luckTimes >= LuckyTurnTableManager.dialRewardConfig[data[i].luckId].LimitNum
Util.SetGray(self.itemViewList[i].gameObject, isGray)
self.itemViewList[i]:SetEffectShow(not isGray)
end
if LuckyTurnTableManager.dialRewardConfig[data[i].luckId].LimitNum==0 then
Util.SetGray(self.itemViewList[i].gameObject,false)
self.itemViewList[i]:SetEffectShow(true)
end
end
end
---设置道具拥有显示 1道具id 2探宝类型
function self.SetPropShow(itemId,treasureType)
end
---播放刷新动画
function self.PlayItemListAnim()
self.DelayMaskWithTime(1.5)
for i = 1, 8 do
self.itemList[i]:GetComponent("PlayFlyAnim"):PlayAnim(true)
end
end
---刷新幸运值
function self.RefreshLuckyValue()
if LuckyTurnTableManager.curTreasureType==TreasureType.Lucky then
LuckyTurnTableManager.SetLuckyValue()
local data=LuckyTurnTableManager.GetLuckyValue()
self.luckyValueNum.text=data.."/"..LuckyTurnTableManager.boxReward_One[5].Values[1][1]
self.luckySlider.minValue=0
self.luckySlider.maxValue=LuckyTurnTableManager.boxReward_One[5].Values[1][1]
self.luckySlider.value=data
self.rewardBoxList[1].transform:DOAnchorPosX(-11.4,0)--有时间再优化成动态计算
self.rewardBoxList[2].transform:DOAnchorPosX(125.2,0)
self.rewardBoxList[3].transform:DOAnchorPosX(262,0)
self.rewardBoxList[4].transform:DOAnchorPosX(400,0)
self.rewardBoxList[5].transform:DOAnchorPosX(654.25,0)
elseif LuckyTurnTableManager.curTreasureType==TreasureType.Advanced then
LuckyTurnTableManager.SetLuckyValue()
local data=LuckyTurnTableManager.GetLuckyValue()
self.luckyValueNum.text=data.."/"..LuckyTurnTableManager.boxReward_Two[5].Values[1][1]
self.luckySlider.minValue=0
self.luckySlider.maxValue=LuckyTurnTableManager.boxReward_Two[5].Values[1][1]
self.luckySlider.value=data
self.rewardBoxList[1].transform:DOAnchorPosX(-11.4,0)
self.rewardBoxList[2].transform:DOAnchorPosX(125.2,0)
self.rewardBoxList[3].transform:DOAnchorPosX(262,0)
self.rewardBoxList[4].transform:DOAnchorPosX(400,0)
self.rewardBoxList[5].transform:DOAnchorPosX(654.25,0)
end
end
---刷新信息
function self.RrFreshInfo()
self.RefreshLuckyValue()
self.CheckRedPoint()
self.SetRewardBox()
-- self.RewardBgProgress()
RedpotManager.CheckRedPointStatus(RedPointType.LuckyTurn)
end
---延时遮罩 1按时间
function self.DelayMaskWithTime(delayTime)
self.mask.gameObject:SetActive(true)
local closeMask=Timer.New(function()
self.mask.gameObject:SetActive(false)
end,delayTime,1,true)
closeMask:Start()
end
---延时遮罩 1按bool
function self.DelayMaskWithBool(b)
if b then
self.mask.gameObject:SetActive(true)
else
self.mask.gameObject:SetActive(false)
end
end
return LuckyTurnTablePanel

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 10ba04d6e4f32884ebeb2279353b50bb
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 600f1a9ab76a71344b57cd32f4a55e51
guid: 84e5263cf14c3fd42b34d74cee22462e
folderAsset: yes
DefaultImporter:
externalObjects: {}