46f967a584
EN: 1.6.0.84 CN: 1.6.0.87 JP: 1.6.0.88 KR: 1.6.0.91
212 lines
7.6 KiB
Lua
212 lines
7.6 KiB
Lua
local GachaCoverCtrl_DiscUp = class("GachaCoverCtrl_DiscUp", BaseCtrl)
|
|
GachaCoverCtrl_DiscUp._mapNodeConfig = {
|
|
root = {
|
|
sNodeName = "----SafeAreaRoot----",
|
|
sComponentName = "Transform"
|
|
},
|
|
imgTimeBg = {},
|
|
TMPFes = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "Gacha_FesGacha"
|
|
},
|
|
TMPCountDown = {sComponentName = "TMP_Text"},
|
|
TMPRemianCount = {sComponentName = "TMP_Text"},
|
|
btnUpDiscDetail = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_ShowDiscUpMainDetail"
|
|
},
|
|
imgOutfit = {sComponentName = "Image", nCount = 3},
|
|
iconProprety = {sComponentName = "Image"},
|
|
TMPNpcName = {sComponentName = "TMP_Text"},
|
|
TMPRateUp = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "Gacha_Cover_DiscUpTitle"
|
|
},
|
|
imgFes = {}
|
|
}
|
|
GachaCoverCtrl_DiscUp._mapEventConfig = {}
|
|
function GachaCoverCtrl_DiscUp:Awake()
|
|
end
|
|
function GachaCoverCtrl_DiscUp:FadeIn()
|
|
end
|
|
function GachaCoverCtrl_DiscUp:FadeOut()
|
|
end
|
|
function GachaCoverCtrl_DiscUp:OnEnable()
|
|
local btnDetail1, btnDetail2, btnDetail3, btnDetail4
|
|
local function func_MarkAllNode(trRoot)
|
|
local nChildCount = trRoot.childCount - 1
|
|
for i = 0, nChildCount do
|
|
local trChild = trRoot:GetChild(i)
|
|
if trChild.name == "btnDetail1" then
|
|
btnDetail1 = trChild
|
|
end
|
|
if trChild.name == "btnDetail2" then
|
|
btnDetail2 = trChild
|
|
end
|
|
if trChild.name == "btnDetail3" then
|
|
btnDetail3 = trChild
|
|
end
|
|
if trChild.name == "btnDetail4" then
|
|
btnDetail4 = trChild
|
|
end
|
|
if trChild.childCount > 0 then
|
|
func_MarkAllNode(trChild)
|
|
end
|
|
end
|
|
end
|
|
func_MarkAllNode(self._mapNode.root)
|
|
local callback1 = function()
|
|
EventManager.Hit("GachaPoolDetail", 1)
|
|
end
|
|
local callback2 = function()
|
|
EventManager.Hit("GachaPoolDetail", 2)
|
|
end
|
|
local callback3 = function()
|
|
EventManager.Hit("GachaPoolDetail", 3)
|
|
end
|
|
local callback4 = function()
|
|
EventManager.Hit("GachaPoolDetail", 4)
|
|
end
|
|
if btnDetail1 ~= nil then
|
|
local btn = btnDetail1:GetComponent("UIButton")
|
|
if btn ~= nil then
|
|
btn.onClick:AddListener(callback1)
|
|
end
|
|
end
|
|
if btnDetail2 ~= nil then
|
|
local btn = btnDetail2:GetComponent("UIButton")
|
|
if btn ~= nil then
|
|
btn.onClick:AddListener(callback2)
|
|
end
|
|
end
|
|
if btnDetail3 ~= nil then
|
|
local btn = btnDetail3:GetComponent("UIButton")
|
|
if btn ~= nil then
|
|
btn.onClick:AddListener(callback3)
|
|
end
|
|
end
|
|
if btnDetail4 ~= nil then
|
|
local btn = btnDetail4:GetComponent("UIButton")
|
|
if btn ~= nil then
|
|
btn.onClick:AddListener(callback4)
|
|
end
|
|
end
|
|
self.tbMainDiscId = {}
|
|
self.tbSubDiscId = {}
|
|
end
|
|
function GachaCoverCtrl_DiscUp:OnDisable()
|
|
end
|
|
function GachaCoverCtrl_DiscUp:OnDestroy()
|
|
end
|
|
function GachaCoverCtrl_DiscUp:OnRelease()
|
|
end
|
|
function GachaCoverCtrl_DiscUp:PlayInAnim()
|
|
local anim = self.gameObject.transform:GetComponent("Animator")
|
|
anim:SetTrigger("tIn")
|
|
end
|
|
function GachaCoverCtrl_DiscUp:SetCover(nId)
|
|
local nAupMissing = PlayerData.Gacha:GetAupMissTimesById(nId)
|
|
local mapGachaData = ConfigTable.GetData("Gacha", nId)
|
|
if mapGachaData ~= nil then
|
|
self._mapNode.imgFes:SetActive(mapGachaData.GachaType == 8 or mapGachaData.GachaType == 9)
|
|
local nStorage = mapGachaData.StorageId
|
|
local mapStorage = ConfigTable.GetData("GachaStorage", nStorage)
|
|
if mapStorage ~= nil then
|
|
local nMaxMissing = mapStorage.AUpGuaranteeTimes
|
|
local nSum = nMaxMissing - nAupMissing
|
|
local text = orderedFormat(ConfigTable.GetUIText("GachaCover_DiscRemainCount"), nSum)
|
|
NovaAPI.SetTMPText(self._mapNode.TMPRemianCount, text)
|
|
end
|
|
local sTimeStr = mapGachaData.EndTime
|
|
if sTimeStr ~= "" then
|
|
self._mapNode.imgTimeBg:SetActive(true)
|
|
local nEndTime = CS.ClientManager.Instance:ISO8601StrToTimeStamp(sTimeStr)
|
|
local curTime = CS.ClientManager.Instance.serverTimeStamp
|
|
local remainTime = nEndTime - curTime
|
|
if 86400 <= remainTime then
|
|
local day = math.floor(remainTime / 86400)
|
|
local hour = math.floor((remainTime - day * 86400) / 3600)
|
|
if hour == 0 then
|
|
day = day - 1
|
|
hour = 24
|
|
end
|
|
sTimeStr = orderedFormat(ConfigTable.GetUIText("Energy_LeftTime_Day"), day, hour)
|
|
elseif 3600 <= remainTime then
|
|
local hour = math.floor(remainTime / 3600)
|
|
local min = math.floor((remainTime - hour * 3600) / 60)
|
|
if min == 0 then
|
|
hour = hour - 1
|
|
min = 60
|
|
end
|
|
sTimeStr = orderedFormat(ConfigTable.GetUIText("Energy_LeftTime_Hour"), hour, min)
|
|
else
|
|
sTimeStr = ConfigTable.GetUIText("Energy_LeftTime_LessThenHour")
|
|
end
|
|
local text = orderedFormat(ConfigTable.GetUIText("GachaCover_TimeCountDown"), sTimeStr)
|
|
NovaAPI.SetTMPText(self._mapNode.TMPCountDown, text)
|
|
else
|
|
self._mapNode.imgTimeBg:SetActive(false)
|
|
end
|
|
local mapPkgData = ConfigTable.Get("GachaPkg")
|
|
if mapPkgData ~= nil then
|
|
ForEachTableLine(mapPkgData, function(mapData)
|
|
if mapData.PkgId == mapGachaData.ATypeUpPkg then
|
|
table.insert(self.tbMainDiscId, mapData.GoodsId)
|
|
elseif mapData.PkgId == mapGachaData.BTypeUpPkg then
|
|
table.insert(self.tbSubDiscId, mapData.GoodsId)
|
|
end
|
|
end)
|
|
end
|
|
if self.tbMainDiscId[1] ~= nil then
|
|
local cfgDataItem = ConfigTable.GetData_Item(self.tbMainDiscId[1])
|
|
local cfgDataDisc = ConfigTable.GetData("Disc", self.tbMainDiscId[1])
|
|
if cfgDataItem ~= nil and cfgDataDisc ~= nil then
|
|
self:SetPngSprite(self._mapNode.imgOutfit[2], cfgDataItem.Icon .. AllEnum.OutfitIconSurfix.Item)
|
|
local imgProperty = self._mapNode.imgOutfit[2].transform:Find("imgProperty"):GetComponent("Image")
|
|
local sName = AllEnum.ElementIconType.Icon .. cfgDataDisc.EET
|
|
self:SetAtlasSprite(imgProperty, "12_rare", sName)
|
|
local imgStar = self._mapNode.imgOutfit[2].transform:Find("imgRare"):GetComponent("Image")
|
|
self:SetSprite_FrameColor(imgStar, 1, AllEnum.FrameType_New.Text)
|
|
local sTitle = orderedFormat(ConfigTable.GetUIText("Gacha_Cover_UpItemTitle") or "", cfgDataItem.Title)
|
|
NovaAPI.SetTMPText(self._mapNode.TMPNpcName, sTitle)
|
|
self:SetAtlasSprite(self._mapNode.iconProprety, "12_rare", AllEnum.Star_Element[cfgDataDisc.EET].icon)
|
|
end
|
|
end
|
|
if self.tbSubDiscId[1] ~= nil then
|
|
local cfgDataItem = ConfigTable.GetData_Item(self.tbSubDiscId[1])
|
|
local cfgDataDisc = ConfigTable.GetData("Disc", self.tbSubDiscId[1])
|
|
if cfgDataItem ~= nil and cfgDataDisc ~= nil then
|
|
self:SetPngSprite(self._mapNode.imgOutfit[1], cfgDataItem.Icon .. AllEnum.OutfitIconSurfix.Item)
|
|
local imgProperty = self._mapNode.imgOutfit[1].transform:Find("imgProperty"):GetComponent("Image")
|
|
local sName = AllEnum.ElementIconType.Icon .. cfgDataDisc.EET
|
|
self:SetAtlasSprite(imgProperty, "12_rare", sName)
|
|
local imgStar = self._mapNode.imgOutfit[1].transform:Find("imgRare"):GetComponent("Image")
|
|
self:SetSprite_FrameColor(imgStar, 2, AllEnum.FrameType_New.Text)
|
|
end
|
|
end
|
|
if self.tbSubDiscId[2] ~= nil then
|
|
local cfgDataItem = ConfigTable.GetData_Item(self.tbSubDiscId[2])
|
|
local cfgDataDisc = ConfigTable.GetData("Disc", self.tbSubDiscId[2])
|
|
if cfgDataItem ~= nil and cfgDataDisc ~= nil then
|
|
self:SetPngSprite(self._mapNode.imgOutfit[3], cfgDataItem.Icon .. AllEnum.OutfitIconSurfix.Item)
|
|
local imgProperty = self._mapNode.imgOutfit[3].transform:Find("imgProperty"):GetComponent("Image")
|
|
local sName = AllEnum.ElementIconType.Icon .. cfgDataDisc.EET
|
|
self:SetAtlasSprite(imgProperty, "12_rare", sName)
|
|
local imgStar = self._mapNode.imgOutfit[3].transform:Find("imgRare"):GetComponent("Image")
|
|
self:SetSprite_FrameColor(imgStar, 2, AllEnum.FrameType_New.Text)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
function GachaCoverCtrl_DiscUp:EnableCover()
|
|
end
|
|
function GachaCoverCtrl_DiscUp:DisableCover()
|
|
end
|
|
function GachaCoverCtrl_DiscUp:OnBtnClick_ShowDiscUpMainDetail()
|
|
if #self.tbMainDiscId < 1 then
|
|
return
|
|
end
|
|
EventManager.Hit(EventId.OpenPanel, PanelId.DiscSample, self.tbMainDiscId[1])
|
|
end
|
|
return GachaCoverCtrl_DiscUp
|