灵兽抽卡放生功能提交

wangzhenxing 2020-10-15 20:27:41 +09:00
parent b93d7d0435
commit 45be005e63
17 changed files with 171767 additions and 77 deletions

View File

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 793943d7ebf68294aa755e55f5a705fe
timeCreated: 1557547307
licenseType: Pro
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -35,7 +35,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 19.8, y: -7.1}
m_AnchoredPosition: {x: 11, y: -7.1}
m_SizeDelta: {x: 90, y: 90}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6859188144548960538
@ -903,7 +903,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 69.1, y: -7.100024}
m_AnchoredPosition: {x: 61.8, y: -7.100024}
m_SizeDelta: {x: 37.8, y: 49}
m_Pivot: {x: 0.49999988, y: 0.50000006}
--- !u!222 &2580814809143257335
@ -941,13 +941,13 @@ MonoBehaviour:
m_BestFit: 0
m_MinSize: 3
m_MaxSize: 50
m_Alignment: 4
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 1
m_VerticalOverflow: 1
m_LineSpacing: 1
m_Text: "\xD71"
m_Text: 200
--- !u!1 &3621012228071053461
GameObject:
m_ObjectHideFlags: 0
@ -1055,6 +1055,7 @@ GameObject:
- component: {fileID: 4586412814992109867}
- component: {fileID: 6588014917717753798}
- component: {fileID: 4581129345858281518}
- component: {fileID: 3037164067483685001}
m_Layer: 5
m_Name: btn_activate
m_TagString: Untagged
@ -1119,6 +1120,48 @@ MonoBehaviour:
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!114 &3037164067483685001
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4126575392765269295}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 4581129345858281518}
m_OnClick:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null
--- !u!1 &4475205596537269449
GameObject:
m_ObjectHideFlags: 0
@ -2491,7 +2534,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: -62.3, y: -9.3}
m_AnchoredPosition: {x: -72, y: -4.1}
m_SizeDelta: {x: 70, y: 55}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5833839496219192996
@ -2529,7 +2572,7 @@ MonoBehaviour:
m_BestFit: 0
m_MinSize: 3
m_MaxSize: 50
m_Alignment: 4
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 1

View File

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 00389ae92da69a94a927bcad4c40c2be
timeCreated: 1557545259
licenseType: Pro
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -464,6 +464,7 @@ PanelType = {
TimelimitCall={87,16}, --限时召唤
QianKunBox={1002,1003,16},--乾坤包囊
HeroReplace={14,16,92},--神将置换
LingShou={14,16,1204},--灵兽
}
@ -831,6 +832,8 @@ ItemType = {
Ride = 18,--坐骑
EquipTreasure = 19,--宝器
SelfBox = 20,--自选宝箱
LingShou =21,--灵兽
LingShouChip =22,--灵兽碎片
}
JumpType = {
Lottery = 1, --招募

View File

@ -2397,11 +2397,13 @@
[12396] = "最多选择%s个灵兽",
[12397] = "已提升至最高星级",
[12398] = "今日妖晶召唤次数不足!",
[12399] = "免费召唤",
[12399] = " 免费召唤",
[12400] = "剩余%s次",
[12411] = "去激活",
[12412] = "重置时间%s",
[12412] = "重置时间:%s",
[12413] = "妖晶召唤次数:%s",
[12414] = "无法召唤,将超出今日召唤上限!",
[12415] = "每天增加<color=#55C78AFF>3次</color>免费召唤,妖晶召唤<color=#55C78AFF>8折</color>优惠",
[12416] = "今日召唤上限: %s/%s",
[12417] = "剩余:%s",
}

View File

@ -333,12 +333,13 @@ UIName = {
GuildTranscriptMainPopup = 332,--公会副本
GuildTranscriptRewardSortPanel = 333,--公会副本奖励排行
GuideBattlePanel = 334, --引导战斗
PokemonMainPanel = 339, --灵兽主界面
PokemonMainPanel = 342, --灵兽主界面
PokemonListPanel = 340, --灵兽出战
PokemonInfoPanel = 341, --灵兽升级升星
PokemonSummonPanel = 342, --灵兽召唤
PokemonSummonPanel = 339, --灵兽召唤
PokemonUpStarSuccessPanel = 343, --灵兽升级成功
PokemonSummonOneResultPanel=350, --灵兽单抽结果
PokemonSummonTenResultPanel=351,--灵兽十连结果
}
SubUIConfig = {

View File

@ -0,0 +1,136 @@
require("Base/BasePanel")
PokemonSummonOneResultPanel = Inherit(BasePanel)
local this=PokemonSummonOneResultPanel
local ItemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig)
local gameSetting=ConfigManager.GetConfig(ConfigName.GameSetting)
local lotterySetting = ConfigManager.GetConfig(ConfigName.LotterySetting)
local iconsData = ConfigManager.GetAllConfigsDataByKey(ConfigName.LotteryRewardConfig,"Pool",4401)
local artConfig = ConfigManager.GetConfig(ConfigName.ArtResourcesConfig)
local privilegeConfig=ConfigManager.GetConfig(ConfigName.PrivilegeTypeConfig)
local artResourcesConfig =ConfigManager.GetConfig(ConfigName.ArtResourcesConfig)
local itemNum=0 --抽卡小号道具数量
--活动抽卡类型(动态的数据)
local drawtType={
FindFairySingle=0,
}
local orginLayer
--初始化组件(用于子类重写)
function PokemonSummonOneResultPanel:InitComponent()
orginLayer = 10
self.bg = Util.GetGameObject(self.gameObject, "effect")
this.UpView = SubUIManager.Open(SubUIConfig.UpView, self.gameObject.transform, { showType = UpViewOpenType.ShowLeft, panelType = PanelType.ElementDrawCard })
screenAdapte(self.bg)
this.btnBack=Util.GetGameObject(self.gameObject, "bottom/backButton")
this.content=Util.GetGameObject(self.gameObject, "content")
this.openOneAgainButton=Util.GetGameObject(self.gameObject, "bottom/openOneAgainButton")
this.detailImage=Util.GetGameObject(self.gameObject, "Tip")
this.detailText = Util.GetGameObject(this.detailImage, "Text"):GetComponent("Text")
this.content1=Util.GetGameObject(self.gameObject,"bottom/openOneAgainButton/Content1")
this.itemIcon1=Util.GetGameObject(this.content1, "Icon"):GetComponent("Image")
this.detailImage1=Util.GetGameObject(this.content1, "Tip")
this.detailText1 = Util.GetGameObject(this.detailImage1, "contentDetailText"):GetComponent("Text")
this.content3=Util.GetGameObject(self.gameObject,"bottom/openOneAgainButton/Content3")
this.itemIcon3=Util.GetGameObject(this.content3, "icon"):GetComponent("Image")
this.itemNum3=Util.GetGameObject(this.content3, "num"):GetComponent("Text")
this.content2=Util.GetGameObject(self.gameObject,"bottom/openOneAgainButton/Content2")
this.itemIcon2=Util.GetGameObject(this.content2, "Icon"):GetComponent("Image")
this.itemNum2=Util.GetGameObject(this.content2,"Num"):GetComponent("Text")
-- 关于抽卡的LotterySetting数据
local curActivityId=ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.QianKunBox)
drawtType.FindFairySingle=ConfigManager.GetConfigDataByDoubleKey(ConfigName.LotterySetting,"PerCount",1,"ActivityId",curActivityId).Id
end
--绑定事件(用于子类重写)
function PokemonSummonOneResultPanel:BindEvent()
Util.AddClick(this.btnBack, function ()
self:ClosePanel()
end)
Util.AddClick(this.openOneAgainButton, function ()
local maxtimesId=lotterySetting[this.recruitType].MaxTimes
local freeTimesId=lotterySetting[this.recruitType].FreeTimes
if(BagManager.GetItemCountById(1204)>=1 or BagManager.GetItemCountById(16)>=itemNum) then
self:ClosePanel()
RecruitManager.RecruitRequest(this.recruitType, function(msg)
PrivilegeManager.RefreshPrivilegeUsedTimes(maxtimesId,1)--记录抽卡次数
UIManager.OpenPanel(UIName.PokemonSummonOneResultPanel,msg.drop,this.recruitType)
CheckRedPointStatus(RedPointType.QianKunBox)
end,freeTimesId)
else
--UIManager.OpenPanel(UIName.QuickPurchasePanel, { type = UpViewRechargeType.DemonCrystal })--应跳到充值界面,现在是用之前的货币换取妖晶
PopupTipPanel.ShowTip(Language[11139])
self:ClosePanel()
end
end)
end
--添加事件监听(用于子类重写)
function PokemonSummonOneResultPanel:AddListener()
end
--移除事件监听(用于子类重写)
function PokemonSummonOneResultPanel:RemoveListener()
end
function PokemonSummonOneResultPanel:OnSortingOrderChange()
Util.AddParticleSortLayer(self.bg, self.sortingOrder - orginLayer)
orginLayer = self.sortingOrder
if this.view then
this.view:OnOpen(true,this.itemDataList[1],1.4,true,false,false,self.sortingOrder)
end
end
--界面打开时调用(用于子类重写)
function PokemonSummonOneResultPanel:OnOpen(...)
this.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.LingShou})
local args = { ... }
this.drop=args[1]
this.recruitType = args[2]
this.detailImage:SetActive(true)
this.content1:SetActive(false)
this.content2:SetActive(false)
this.content3:SetActive(true)
local itemId=0
local d
d = RecruitManager.GetExpendData(this.recruitType)
itemId=d[1]
itemNum=d[2]
this.itemIcon3.sprite=Util.LoadSprite(artResourcesConfig[ItemConfig[itemId].ResourceID].Name)
local isActive = PrivilegeManager.GetPrivilegeOpenStatusById(3004)
if itemNum>10 and isActive then
itemNum=itemNum*(1+currPrivilege.Condition[1][2]/10000)
end
this.itemNum3.text= tostring(itemNum)
this.detailText.text = Language[12227]
Util.ClearChild(Util.GetTransform(this.content, "itemContent1"))
this.itemDataList={}
this.itemDataList=BagManager.GetTableByBackDropData(this.drop)
this.view = SubUIManager.Open(SubUIConfig.ItemView,Util.GetTransform(this.content, "itemContent1"))
this.view:OnOpen(true,this.itemDataList[1],1.4,true,false,false,self.sortingOrder)
this.openOneAgainButton:GetComponent("Button").enabled=false
local time = Timer.New(function ()
this.openOneAgainButton:GetComponent("Button").enabled=true
local itemDataList=BagManager.GetTableByBackDropData(this.drop)
if itemDataList and #itemDataList>0 then
local singleItemConfigData=itemDataList[1].configData
if singleItemConfigData and singleItemConfigData.ItemType==4 and singleItemConfigData.Quantity>=gameSetting[1].IfVersion then
UIManager.OpenPanel(UIName.SecretBoxShowPokemonPanel,singleItemConfigData.Id)
end
end
end, 0.5)
time:Start()
end
--界面关闭时调用(用于子类重写)
function PokemonSummonOneResultPanel:OnClose()
end
--界面销毁时调用(用于子类重写)
function PokemonSummonOneResultPanel:OnDestroy()
SubUIManager.Close(this.UpView)
this.view = nil
end
return PokemonSummonOneResultPanel

View File

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

View File

@ -1,5 +1,6 @@
require("Base/BasePanel")
local PokemonSummonPanel = Inherit(BasePanel)
local MazeTreasureSetting = ConfigManager.GetConfig(ConfigName.MazeTreasureSetting)
local bType={
Btn1=1,
Btn10=2
@ -12,10 +13,13 @@ local lotterySetting=ConfigManager.GetConfig(ConfigName.LotterySetting)
local privilegeConfig=ConfigManager.GetConfig(ConfigName.PrivilegeTypeConfig)
local artResourcesConfig =ConfigManager.GetConfig(ConfigName.ArtResourcesConfig)
local lotterySpecialConfig = ConfigManager.GetConfig(ConfigName.LotterySpecialConfig)
local freeTime= 0 --免费抽取次数
local isActive=false --是否激活特权
function PokemonSummonPanel:InitComponent(gameObject)
self.btn_back=Util.GetGameObject(self.transform, "btn_back")
self.buffImg=Util.GetGameObject(self.transform, "tokenImg"):GetComponent("Image")
self.leftTimeObj=Util.GetGameObject(self.transform, "leftTimeObj")
self.upView = SubUIManager.Open(SubUIConfig.UpView, self.gameObject.transform, { showType = UpViewOpenType.ShowLeft})
self.leftTimeTxt=Util.GetGameObject(self.transform,"leftTimeObj/leftTimeTxt"):GetComponent("Text")
self.infoTxt=Util.GetGameObject(self.transform,"hint"):GetComponent("Text")
self.btn_shop=Util.GetGameObject(self.transform,"btn_shop")
@ -29,6 +33,7 @@ function PokemonSummonPanel:InitComponent(gameObject)
self.oneImg=Util.GetGameObject(self.transform,"Btn1/Content/Icon"):GetComponent("Image")
self.oneNumTxt=Util.GetGameObject(self.transform,"Btn1/Content/Num"):GetComponent("Text")
self.oneHintTxt=Util.GetGameObject(self.transform,"Btn1/Tip"):GetComponent("Text")
self.oneRedPoint=Util.GetGameObject(self.transform,"Btn1/RedPoint")
self.tenTxt=Util.GetGameObject(self.transform,"Btn10/Content/Info"):GetComponent("Text")
self.tenImg=Util.GetGameObject(self.transform,"Btn10/Content/Icon"):GetComponent("Image")
self.tenNumTxt=Util.GetGameObject(self.transform,"Btn10/Content/Num"):GetComponent("Text")
@ -38,79 +43,67 @@ end
function PokemonSummonPanel:BindEvent()
--奖励按钮
Util.AddClick(self.btn_reward,function()
UIManager.OpenPanel(UIName.RewardPreviewPopup, PRE_REWARD_POOL_TYPE.LING_SHOU)
end)
--激活按钮
Util.AddClick(self.btn_activate,function()
--激活特权
Util.AddClick(self.btn_shop,function()
JumpManager.GoJump(3002)
--self.shop:SetActive(true)
--self.btnBack:SetActive(false)
--self.livename = "live2d_ui_h_52_xx_pf1"
--self.liveNode = poolManager:LoadLive(self.livename, self.live.transform, Vector3.New(0.25,0.25,0.25), Vector3.New(123,214,0))
--self:storeShow()--商店
end)
Util.AddClick(self.btn_shop,function()
self.shop:SetActive(true)
self.btnBack:SetActive(false)
self.livename = "live2d_ui_h_52_xx_pf1"
self.liveNode = poolManager:LoadLive(self.livename, self.live.transform, Vector3.New(0.25,0.25,0.25), Vector3.New(123,214,0))
self:storeShow()--商店
end)
Util.AddClick(self.shopBack,function()
self.shop:SetActive(false)
self.btnBack:SetActive(true)
self.tabList:SetActive(true)
poolManager:UnLoadLive(self.livename, self.liveNode)
self.livename = nil
end)
Util.AddClick(self.btn_back,function()
LogError("22222222222")
UIManager.ClosePanel(UIName.PokemonSummonPanel)
end)
Util.AddClick(self.btn_activate,function()
--激活特权
JumpManager.GoJump(MazeTreasureSetting[1].Jump)
end)
end
function PokemonSummonPanel:OnShow(sortingOrder,_parent)
parent = _parent
orginLayer = sortingOrder
activityId = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.QianKunBox)
local array = ConfigManager.GetAllConfigsDataByKey(ConfigName.LotterySetting,"ActivityId",activityId)
singleRecruit = array[1]
tenRecruit = array[2]
iconsData = ConfigManager.GetAllConfigsDataByKey(ConfigName.LotteryRewardConfig,"Pool",singleRecruit.DiamondBoxContain[1][1])
self.upView:OnOpen({showType = UpViewOpenType.ShowLeft, panelType = PanelType.LingShou})
self.infoTxt.text=Language[12415]
--是否显示特权
if true then
isActive = PrivilegeManager.GetPrivilegeOpenStatusById(3004)
if isActive then
self.leftTimeObj.gameObject:SetActive(true)
--self.leftTimeTxt.text=
Util.SetGray(self.buffImg.gameObject,false)
local leftTime = PrivilegeManager.GetPrivilegeLeftTimeById(3004)
self.leftTimeTxt.text= "剩余:"..GetLeftTimeStrByDeltaTime(leftTime)
self.btn_activate.gameObject:SetActive(false)
else
Util.SetGray(self.buffImg.gameObject,true)
self.leftTimeObj.gameObject:SetActive(false)
--self.leftTimeTxt.text=
self.btn_activate.gameObject:SetActive(true)
end
self.gameObject:SetActive(true)
end
self:refreshMagicNum()
self:refreshBtnShow()--刷新按钮显示
self:timeCountDown()--时间
self:timeCountDown()--时间
end
function PokemonSummonPanel:refreshBtnShow()
local freeTimesId=lotterySetting[singleRecruit.Id].FreeTimes
local maxtimesId=lotterySetting[singleRecruit.Id].MaxTimes --lotterySetting表中的MaxTimes对应privilegeConfig表中的id
--显示
local array = ConfigManager.GetAllConfigsDataByKey(ConfigName.LotterySetting,"ActivityId",4303)
singleRecruit = array[1]
tenRecruit = array[2]
local currLottery= ConfigManager.GetConfigData(ConfigName.LotterySetting,42)
local freeTimesId=currLottery.FreeTimes
local maxtimesId=currLottery.MaxTimes --lotterySetting表中的MaxTimes对应privilegeConfig表中的id
local curTimes=PrivilegeManager.GetPrivilegeUsedTimes(maxtimesId)
curTimes=5
local freeTime= 0
self.limitTxt.text = Language[12225]..curTimes.."/"..privilegeConfig[maxtimesId].Condition[1][2]
--
if freeTimesId>0 then
freeTime= PrivilegeManager.GetPrivilegeRemainValue(freeTimesId)
RecruitManager.freeUseTimeList[freeTimesId]=freeTime
end
freeTime=0
--按钮赋值
for n, m in ipairs(btns) do
local btn=Util.GetGameObject(self.gameObject,m.name)
@ -118,27 +111,33 @@ function PokemonSummonPanel:refreshBtnShow()
local info=Util.GetGameObject(btn.gameObject,"Content/Info"):GetComponent("Text")
local icon=Util.GetGameObject(btn.gameObject,"Content/Icon"):GetComponent("Image")
local num=Util.GetGameObject(btn.gameObject,"Content/Num"):GetComponent("Text")
local tip=Util.GetGameObject(btn.gameObject,"Tip"):GetComponent("Text")
--存在免费次数 并且 免费>=1 并且是1按钮
local isFree=freeTime and freeTime >= 1 and n==bType.Btn1
redPot.gameObject:SetActive(isFree)
icon.gameObject:SetActive(not isFree)
num.gameObject:SetActive(not isFree)
num.gameObject:SetActive(not isFree)
local itemId=0
local itemNum=0
local type = 0
if n==bType.Btn1 then
type = singleRecruit.Id
type = singleRecruit.Id
else
type = tenRecruit.Id
end
local d=RecruitManager.GetExpendData(type)
if(isFree) then
if isFree then
info.text=Language[11759]
else
itemId=d[1]
itemNum=d[2]
-- LogPink("itemId:"..itemId.." itemNum:"..itemNum)
--如果当前是用妖晶抽卡 and 激活了特权
if itemNum>10 and isActive then
local currPrivilege=privilegeConfig[3004]
if currPrivilege then
itemNum=itemNum*(1+currPrivilege.Condition[1][2]/10000)
end
end
icon.sprite=Util.LoadSprite(artResourcesConfig[itemConfig[itemId].ResourceID].Name)
info.text=m.isInfo
num.text= tostring(itemNum)
@ -160,7 +159,7 @@ function PokemonSummonPanel:refreshBtnShow()
local recruitOne = function()
RecruitManager.RecruitRequest(singleRecruit.Id, function(msg)
PrivilegeManager.RefreshPrivilegeUsedTimes(maxtimesId,1)--记录抽卡次数
UIManager.OpenPanel(UIName.QianKunBoxBuyOnePanel, msg.drop,singleRecruit.Id)
UIManager.OpenPanel(UIName.PokemonSummonOneResultPanel, msg.drop,singleRecruit.Id)
CheckRedPointStatus(RedPointType.QianKunBox)
end,freeTimesId)
end
@ -177,10 +176,10 @@ function PokemonSummonPanel:refreshBtnShow()
local recruitTen = function()
RecruitManager.RecruitRequest(tenRecruit.Id, function(msg)
PrivilegeManager.RefreshPrivilegeUsedTimes(maxtimesId,10)--记录抽卡次数
UIManager.OpenPanel(UIName.QianKunBoxBuyTenPanel, msg.drop,tenRecruit.Id)
UIManager.OpenPanel(UIName.PokemonSummonOneResultPanel, msg.drop,tenRecruit.Id)
CheckRedPointStatus(RedPointType.QianKunBox)
end,freeTimesId)
end
end
if state==0 and d[1] ==16 and not isFree then
UIManager.OpenPanel(UIName.GeneralPopup,GENERAL_POPUP_TYPE.RecruitConfirm,tenRecruit.Id,recruitTen)
else
@ -190,7 +189,6 @@ function PokemonSummonPanel:refreshBtnShow()
end)
end
end
--商店
function PokemonSummonPanel:storeShow()
if not self.shopView then
@ -201,13 +199,13 @@ end
--时间
function PokemonSummonPanel:timeCountDown()
if freeTime>0 then
self.oneHintTxt.text=string.format(Language[12400],freeTime)
else
local timeDown=CalculateSecondsNowTo_N_OClock(5)--领取按钮的倒计时
self.oneHintTxt.text = TimeToHMS(timeDown)
self.shopData =ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.QianKunBox)
self.leftTimeTxt.text = self:TimeToDHMS(self.shopData.endTime - PlayerManager.serverTime)--活动结束的倒计时
self.timer = Timer.New(function()
self.leftTimeTxt.text = self:TimeToDHMS(self.shopData.endTime - PlayerManager.serverTime)
self.oneHintTxt.text = TimeToHMS(timeDown)
self.oneHintTxt.text =string.format(Language[12412],TimeToHMS(timeDown))
self.timer = Timer.New(function()
self.oneHintTxt.text = string.format(Language[12412],TimeToHMS(timeDown))
if timeDown < 1 then
self.timer:Stop()
self.timer = nil
@ -217,6 +215,8 @@ function PokemonSummonPanel:timeCountDown()
timeDown = timeDown -1
end, 1, -1, true)
self.timer:Start()
end
end
--- 将一段时间转换为天时分秒
@ -234,7 +234,7 @@ end
function PokemonSummonPanel:refreshMagicNum()
local actData = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.QianKunBox)
local d = ConfigManager.GetAllConfigsDataByKey(ConfigName.LotterySpecialConfig,"Type",singleRecruit.MergePool)
-- local d = ConfigManager.GetAllConfigsDataByKey(ConfigName.LotterySpecialConfig,"Type",singleRecruit.MergePool)
--self.leftUptips1.text = d[1].Count-math.floor(actData.value/1000)
-- self.oneHintTxt.text = tostring(d[2].Count-actData.value%1000)..Language[12264]
end
@ -255,5 +255,9 @@ function PokemonSummonPanel:OnHide()
self.shopView = nil
end
end
--界面销毁时调用(用于子类重写)
function PokemonSummonPanel:OnDestroy()
SubUIManager.Close(self.upView)
end
return PokemonSummonPanel

View File

@ -0,0 +1,174 @@
require("Base/BasePanel")
require("Base/Stack")
PokemonSummonTenResultPanel = Inherit(BasePanel)
local this=PokemonSummonTenResultPanel
local ItemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig)
local gameSetting=ConfigManager.GetConfig(ConfigName.GameSetting)
local lotterySetting = ConfigManager.GetConfig(ConfigName.LotterySetting)
local artResourcesConfig =ConfigManager.GetConfig(ConfigName.ArtResourcesConfig)
local itemNum=0 --抽卡小号道具数量
--活动抽卡类型(动态的数据)
local drawtType={
FindFairySingle=0,
FindFairyTen=0,
}
local lotterySetting = ConfigManager.GetConfig(ConfigName.LotterySetting)
local callList = Stack.New()
this.contentList={}
this.contentListParent={}
this.isElementDrawPanel=false
local orginLayer
--初始化组件(用于子类重写)
function PokemonSummonTenResultPanel:InitComponent()
orginLayer = 0
self.bg = Util.GetGameObject(self.gameObject, "effect")
screenAdapte(self.bg)
this.btnBack=Util.GetGameObject(self.gameObject, "bottom/backButton")
this.openTenAgainButton=Util.GetGameObject(self.gameObject, "bottom/openTenAgainButton")
this.costImage=Util.GetGameObject(self.gameObject, "bottom/openTenAgainButton/Image")
this.detailImage=Util.GetGameObject(self.gameObject, "Tip")
this.detailText = Util.GetGameObject(this.detailImage, "Text"):GetComponent("Text")
this.content1=Util.GetGameObject(self.gameObject,"bottom/openTenAgainButton/Content1")
this.itemIcon1=Util.GetGameObject(this.content1,"Icon"):GetComponent("Image")
this.detailImage1=Util.GetGameObject(this.content1,"Tip")
this.detailText1 = Util.GetGameObject(this.detailImage1, "contentDetailText"):GetComponent("Text")
this.content3=Util.GetGameObject(self.gameObject,"bottom/openTenAgainButton/Content3")
this.itemIcon3=Util.GetGameObject(this.content3, "icon"):GetComponent("Image")
this.itemNum3=Util.GetGameObject(this.content3, "num"):GetComponent("Text")
this.content2=Util.GetGameObject(self.gameObject,"bottom/openTenAgainButton/Content2")
this.itemIcon2=Util.GetGameObject(this.content2,"Icon"):GetComponent("Image")
this.itemNum2=Util.GetGameObject(this.content2,"Num"):GetComponent("Text")
for i = 1, 10 do
this.contentList[i]=Util.GetGameObject(self.gameObject, "content/itemAnimEffect"..i.."/image/Kuang/itemName/itemContent")
this.contentListParent[i]=Util.GetGameObject(self.gameObject, "content/itemAnimEffect"..i)
end
-- 关于抽卡的LotterySetting数据
local curActivityId=ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.QianKunBox)
drawtType.FindFairySingle=ConfigManager.GetConfigDataByDoubleKey(ConfigName.LotterySetting,"PerCount",1,"ActivityId",curActivityId).Id
drawtType.FindFairyTen=ConfigManager.GetConfigDataByDoubleKey(ConfigName.LotterySetting,"PerCount",10,"ActivityId",curActivityId).Id
end
--绑定事件(用于子类重写)
function PokemonSummonTenResultPanel:BindEvent()
Util.AddClick(this.btnBack, function ()
PlaySoundWithoutClick(SoundConfig.Sound_UICancel)
self:ClosePanel()
end)
Util.AddClick(this.openTenAgainButton, function ()
local maxtimesId=lotterySetting[this.recruitType].MaxTimes
local freeTimesId=lotterySetting[this.recruitType].FreeTimes
if(BagManager.GetItemCountById(1204)>=10 or BagManager.GetItemCountById(16)>=itemNum) then
self:ClosePanel()
RecruitManager.RecruitRequest(this.recruitType, function(msg)
PrivilegeManager.RefreshPrivilegeUsedTimes(maxtimesId,10)--记录抽卡次数
UIManager.OpenPanel(UIName.PokemonSummonTenResultPanel,msg.drop,this.recruitType)
CheckRedPointStatus(RedPointType.QianKunBox)
end,freeTimesId)
else
--UIManager.OpenPanel(UIName.QuickPurchasePanel, { type = UpViewRechargeType.DemonCrystal })--应跳到充值界面,现在是用之前的货币换取妖晶
PopupTipPanel.ShowTip(Language[11139])
self:ClosePanel()
end
end)
end
--添加事件监听(用于子类重写)
function PokemonSummonTenResultPanel:AddListener()
end
--移除事件监听(用于子类重写)
function PokemonSummonTenResultPanel:RemoveListener()
end
function PokemonSummonTenResultPanel:OnSortingOrderChange()
Util.AddParticleSortLayer(self.bg, self.sortingOrder - orginLayer)
for i = 1, 10 do
Util.AddParticleSortLayer(this.contentListParent[i], self.sortingOrder - orginLayer)
end
orginLayer = self.sortingOrder
if this.views and this.itemDataList then
for index, view in pairs(this.views) do
view:OnOpen(true,this.itemDataList[index],1.4,true,false,false,self.sortingOrder)
end
end
end
--界面打开时调用(用于子类重写)
function PokemonSummonTenResultPanel:OnOpen(...)
-- this.itemIcon1.sprite=Util.LoadSprite(GetResourcePath(ItemConfig[SecretBoxManager.MainCost[2][1][1]].ResourceID))
local args = { ... }
this.drop=args[1]
this.recruitType = args[2]
this.detailImage:SetActive(true)
this.content1:SetActive(false)
this.content2:SetActive(false)
this.content3:SetActive(true)
local itemId=0
local d
d=RecruitManager.GetExpendData(this.recruitType)
itemId=d[1]
itemNum=d[2]
this.itemIcon3.sprite=Util.LoadSprite(artResourcesConfig[ItemConfig[itemId].ResourceID].Name)
local isActive = PrivilegeManager.GetPrivilegeOpenStatusById(3004)
if itemNum>10 and isActive then
itemNum=itemNum*(1+currPrivilege.Condition[1][2]/10000)
end
this.itemNum3.text= tostring(itemNum)
this.detailText.text = Language[12228]
local itemDataList={}
itemDataList=BagManager.GetTableByBackDropData(this.drop)
this.openTenAgainButton:GetComponent("Button").enabled=false
this.btnBack:GetComponent("Button").enabled=false
callList:Clear()
callList:Push(function ()
this.openTenAgainButton:GetComponent("Button").enabled=true
this.btnBack:GetComponent("Button").enabled=true
end)
this.views = {}
this.itemDataList = itemDataList
local dataNum = #itemDataList > 10 and 10 or #itemDataList
for i = dataNum, 1, -1 do
Util.ClearChild(this.contentList[i].transform)
this.views[i] = SubUIManager.Open(SubUIConfig.ItemView,this.contentList[i].transform)
local curItemData=itemDataList[i]
local contentGO = this.contentListParent[i]
this.views[i]:OnOpen(true,curItemData,1.4,true,false,false,self.sortingOrder)
contentGO:SetActive(false)
callList:Push(function ()
if curItemData.configData and curItemData.configData.ItemType==4 and curItemData.configData.Quantity>=gameSetting[1].IfVersion then
UIManager.OpenPanel(UIName.SecretBoxShowPokemonPanel,curItemData.configData.Id, function ()
Timer.New(function ()
contentGO:SetActive(true)
callList:Pop()()
end, 0.2):Start()
end)
else
Timer.New(function ()
contentGO:SetActive(true)
callList:Pop()()
end, 0.2):Start()
end
end)
end
callList:Pop()()
end
--界面关闭时调用(用于子类重写)
function PokemonSummonTenResultPanel:OnClose()
end
--界面销毁时调用(用于子类重写)
function PokemonSummonTenResultPanel:OnDestroy()
this.views = nil
end
return PokemonSummonTenResultPanel

View File

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

View File

@ -95,6 +95,7 @@ function this.InitPreData()
this.previewTimeLimitedUPData={}
this.previewLotterySoulData = {}--乾坤宝囊其他奖励
this.previewLotterySoulUPData={}--乾坤宝囊魂印up保底
this.previewLingShou={} --灵兽奖励数据
if(#this.previewHeroData>=1) then
return
end
@ -108,6 +109,8 @@ function this.InitPreData()
table.insert(this.previewNormalData,v)
elseif(v.Pool==11 or v.Pool==12 or v.Pool==13 or v.Pool==14) then-- or v.Pool==15 光暗被移除
table.insert(this.previewElementData, v)
elseif v.Pool==5001 then
table.insert(this.previewLingShou,v)
end
end
@ -123,7 +126,22 @@ function this.InitPreData()
end
end)
end
--灵兽奖品排序
if #this.previewLingShou > 1 then
table.sort(this.previewLingShou, function(a, b)
--判断品质
if itemConfig[a.Reward[1]].Quantity == itemConfig[b.Reward[1]].Quantity then
--判断类型
if itemConfig[a.Reward[1]].ItemType<itemConfig[b.Reward[1]].Quantity then
return a.Reward[1] > b.Reward[1]
else
return a.Reward[1] < b.Reward[1]
end
else
return itemConfig[a.Reward[1]].Quantity > itemConfig[b.Reward[1]].Quantity
end
end)
end
table.sort(this.previewHeroData, function(a, b)
if itemConfig[a.Reward[1]].HeroStar[2] == itemConfig[b.Reward[1]].HeroStar[2] then
if a.Quality == b.Quality then
@ -196,6 +214,8 @@ function this.GetRewardPreviewData(type)
or type==PRE_REWARD_POOL_TYPE.LOTTERY_SOUL
or type==PRE_REWARD_POOL_TYPE.LOTTERY_SOUL_UP then
return this.GetActivityPreviewData(type)
elseif type==PRE_REWARD_POOL_TYPE.LING_SHOU then
return this.previewLingShou
end
end

View File

@ -54,6 +54,8 @@ function RewardPreviewPopup:OnOpen(type)
typeNum = 2
elseif type == PRE_REWARD_POOL_TYPE.GHOST_FIND then
typeNum = 4
elseif type==PRE_REWARD_POOL_TYPE.LING_SHOU then
typeNum = 5001
end
this.CreatePreview(typeNum, type)
@ -84,8 +86,9 @@ function this.CreatePreview(typeNum, type)
elseif type == PRE_REWARD_POOL_TYPE.GHOST_FIND then
this.previewList[4].gameObject:SetActive(false)
this.CreateEastGhostInfo(showData)
elseif type== PRE_REWARD_POOL_TYPE.LING_SHOU then
this.CreatePokemonInfo(showData)
end
-- 显隐显示
for i = 1, 4 do
if this.previewList[i] then
@ -93,6 +96,8 @@ function this.CreatePreview(typeNum, type)
this.previewList[i]:SetActive(i <= 2)
elseif type == PRE_REWARD_POOL_TYPE.GHOST_FIND then
this.previewList[i]:SetActive(i <= 3)
elseif type== PRE_REWARD_POOL_TYPE.LING_SHOU then
this.previewList[i]:SetActive(i<=4)
else
this.previewList[i]:SetActive(i <= 4)
end
@ -139,6 +144,70 @@ function this.CreateLuckInfo(showData)
end
end
-- 灵兽数据
function this.CreatePokemonInfo(showData)
Util.GetGameObject(this.previewList[1], "title/Text"):GetComponent("Text").text = "金色灵兽"
Util.GetGameObject(this.previewList[2], "title/Text"):GetComponent("Text").text = "紫色灵兽"
Util.GetGameObject(this.previewList[3], "title/Text"):GetComponent("Text").text = "蓝色灵兽"
Util.GetGameObject(this.previewList[4], "title/Text"):GetComponent("Text").text = "灵兽材料"
local fiveData = {}
local fourData = {}
local ThreeData = {}
local otherList = {}
for i = 1, #showData do
if itemConfig[showData[i].Reward[1]].ItemType == 21 or itemConfig[showData[i].Reward[1]].ItemType == 22 then
if itemConfig[showData[i].Reward[1]].Quantity == 6 then -- 5星
fiveData[#fiveData + 1] = showData[i]
elseif itemConfig[showData[i].Reward[1]].Quantity == 5 then -- 4星
fourData[#fourData + 1] = showData[i]
elseif itemConfig[showData[i].Reward[1]].Quantity == 4 then -- 3
ThreeData[#ThreeData + 1] = showData[i]
end
else
otherList[#otherList + 1] = showData[i]
end
end
for i = 1, #fiveData do
if not this.List1[i] then
this.List1[i] =
SubUIManager.Open(SubUIConfig.ItemView, Util.GetGameObject(this.previewList[1], "gird").transform)
end
this.List1[i]:OnOpen(false, {fiveData[i].Reward[1], fiveData[i].Reward[2]}, 1.1, true)
-- this.List1[i].name:GetComponent("Text").text ="<color=#EDB64C>" .. string.format("%.2f", (fiveData[i].Weight / 100000) * 100) .. "%</color>"
this.List1[i].gameObject:SetActive(true)
end
for i = 1, #fourData do
if not this.List2[i] then
this.List2[i] =
SubUIManager.Open(SubUIConfig.ItemView, Util.GetGameObject(this.previewList[2], "gird").transform)
end
this.List2[i]:OnOpen(false, {fourData[i].Reward[1], fourData[i].Reward[2]}, 1.1, true)
--this.List2[i].name:GetComponent("Text").text = "<color=#EDB64C>" .. string.format("%.2f", (fourData[i].Weight / 100000) * 100) .. "%</color>"
this.List2[i].gameObject:SetActive(true)
end
for i = 1, #ThreeData do
if not this.List3[i] then
this.List3[i] =
SubUIManager.Open(SubUIConfig.ItemView, Util.GetGameObject(this.previewList[3], "gird").transform)
end
this.List3[i]:OnOpen(false, {ThreeData[i].Reward[1], ThreeData[i].Reward[2]}, 1.1, true)
--this.List3[i].name:GetComponent("Text").text = "<color=#EDB64C>" .. string.format("%.2f", (ThreeData[i].Weight / 100000) * 100) .. "%</color>"
end
for i = 1, #otherList do
if not this.List4[i] then
this.List4[i] = SubUIManager.Open(SubUIConfig.ItemView, Util.GetGameObject(this.previewList[4], "gird").transform)
end
this.List4[i]:OnOpen(false, {otherList[i].Reward[1], otherList[i].Reward[2] }, 1.1, true)
-- this.List4[i].name:GetComponent("Text").text = "<color=#EDB64C>"..string.format("%.2f",(otherList[i].Weight/100000)*100) .."%</color>"
end
end
-- 东海寻鬼
function this.CreateEastGhostInfo(showData)
Util.GetGameObject(this.previewList[1], "title/Text"):GetComponent("Text").text = Language[11763]

View File

@ -25,7 +25,7 @@ function this:InitComponent(gameObject)
this.shopBtn=Util.GetGameObject(gameObject,"Content/Resolve_Pokemon/shopBtn")
this.selectText = Util.GetGameObject(gameObject,"Content/Resolve_Pokemon/selectNumText"):GetComponent("Text")
this.selectBtn = Util.GetGameObject(gameObject,"Content/Resolve_Pokemon/btns/selectBtn")
this.cardPre = Util.GetGameObject(gameObject,"item")
this.cardPre = Util.GetGameObject(gameObject,"Content/Resolve_Pokemon/equipTreasurePre")
this.scrollbar = Util.GetGameObject(gameObject,"Content/Resolve_Pokemon/Scrollbar"):GetComponent("Scrollbar")
this.Empty = Util.GetGameObject(gameObject,"Content/Resolve_Pokemon/Empty")
local v21 = Util.GetGameObject(gameObject, "Content/Resolve_Pokemon/ItemListRoot"):GetComponent("RectTransform").rect
@ -133,7 +133,13 @@ function this.SingleHeroDataShow(go,_heroData)
Util.GetGameObject(_go.transform, "lv/Text"):GetComponent("Text").text = heroData.lv
Util.GetGameObject(_go.transform, "Text"):GetComponent("Text").text = heroData.heroConfig.ReadingName
Util.GetGameObject(_go.transform, "icon"):GetComponent("Image").sprite = Util.LoadSprite(GetResourcePath(heroData.heroConfig.Icon))
Util.GetGameObject(_go.transform, "chipImg"):GetComponent("Image").sprite=""
local chipImg=Util.GetGameObject(_go.transform, "chipImg"):GetComponent("Image")
if heroData.ischip then
chipImg.gameObject:SetActive(true)
chipImg.sprite=Util.LoadSprite(GetHeroChipQuantityImageByquality(heroData.heroConfig.Quantity))
else
chipImg.gameObject:SetActive(false)
end
local starGrid = Util.GetGameObject(_go.transform, "star")
SetHeroStars(starGrid, heroData.star,1,Vector2.New(32.5,32.5),-15)
local choosed =Util.GetGameObject(_go.transform, "choosed")

View File

@ -160,7 +160,7 @@ function ItemView:GetRewardShow(_itemData, effectLayer)
_itemData.configData = _itemData.itemConfig
_itemData.backData = _itemData.itembackData
end
if _itemData.configData.ItemType == ItemType.HeroDebris then
if _itemData.configData.ItemType == ItemType.HeroDebris or _itemData.configData.ItemType ==ItemType.LingShouChip then
--角色碎片
self.frameMask:SetActive(true)
self.frameMask:GetComponent("Image").sprite = Util.LoadSprite(GetHeroChipQuantityImageByquality(_itemData.configData.Quantity))
@ -398,7 +398,7 @@ function ItemView:NoGetRewardShow(_reward, effectLayer, isShowAddImage)
self.UI_Effect_Kuang_HongSe:SetActive(heroConfigData.Star == 6)
self.UI_effect_WuCai_Kuang:SetActive(heroConfigData.Quantity == 7)
end
elseif itemDataConFig.ItemType == ItemType.HeroDebris then
elseif itemDataConFig.ItemType == ItemType.HeroDebris or itemDataConFig.ItemType==ItemType.LingShouChip then
--2角色碎片
self.frameMask:SetActive(true)
self.frameMask:GetComponent("Image").sprite = Util.LoadSprite(GetHeroChipQuantityImageByquality(itemConfig[itemSId].Quantity))