142 lines
5.6 KiB
Lua
142 lines
5.6 KiB
Lua
local ExChange = quick_class("ExChange")
|
|
local this = ExChange
|
|
|
|
local exChangeInfoGrid = {}--限时兑换内容
|
|
local heroConfig
|
|
function ExChange:ctor(mainPanel, gameObject)
|
|
self.mainPanel = mainPanel
|
|
self.gameObject = gameObject
|
|
self:InitComponent(gameObject)
|
|
self:BindEvent()
|
|
end
|
|
--初始化组件(用于子类重写)
|
|
function ExChange:InitComponent(gameObject)
|
|
|
|
this.timeTextExChangeGo = Util.GetGameObject(gameObject, "timeText")
|
|
this.timeTextExChange = Util.GetGameObject(gameObject, "timeText"):GetComponent("Text")
|
|
this.exChangeRewardIcon = Util.GetGameObject(gameObject, "downbg1/info/itemViewParent/icon"):GetComponent("Image")
|
|
this.exChangeRewardParent = Util.GetGameObject(gameObject, "downbg2/itemRewardParent")
|
|
|
|
this.exChangeBuyNum = Util.GetGameObject(gameObject, "downbg2/buyInfo/buyNum"):GetComponent("Text")
|
|
this.exChangeBuyIcon = Util.GetGameObject(gameObject, "downbg2/buyInfo/icon"):GetComponent("Image")
|
|
this.exChangeBuyBtn = Util.GetGameObject(gameObject, "downbg2/buyInfo/addBtn")
|
|
|
|
|
|
for i = 1, 4 do
|
|
exChangeInfoGrid[i] = Util.GetGameObject(gameObject, "downbg1/info/infoTextGrid/infoText ("..i..")")
|
|
end
|
|
this.exChangeGoBtn = Util.GetGameObject(gameObject, "downbg2/goBtn")
|
|
this.click = Util.GetGameObject(gameObject, "leftUpGO/click")
|
|
|
|
this.live2dRoot = Util.GetGameObject(gameObject, "bg/live")
|
|
this.profession = Util.GetGameObject(gameObject, "leftUpGO/posImage/posImage"):GetComponent("Image")
|
|
this.proImage = Util.GetGameObject(gameObject, "leftUpGO/proImage"):GetComponent("Image")
|
|
this.heroName = Util.GetGameObject(gameObject, "leftUpGO/heroName"):GetComponent("Text")
|
|
this.quality = Util.GetGameObject(gameObject, "leftUpGO/Natural"):GetComponent("Text")
|
|
end
|
|
|
|
--绑定事件(用于子类重写)
|
|
function ExChange:BindEvent()
|
|
|
|
Util.AddClick(this.click, function()
|
|
UIManager.OpenPanel(UIName.RoleGetInfoPopup, false, heroConfig.Id, heroConfig.Star)
|
|
end)
|
|
end
|
|
|
|
--添加事件监听(用于子类重写)
|
|
function ExChange:AddListener()
|
|
|
|
end
|
|
|
|
--移除事件监听(用于子类重写)
|
|
function ExChange:RemoveListener()
|
|
|
|
end
|
|
|
|
--界面打开时调用(用于子类重写)
|
|
function ExChange:OnOpen(...)
|
|
|
|
end
|
|
local sortingOrder = 0
|
|
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
|
|
function ExChange:OnShow(_sortingOrder)
|
|
|
|
sortingOrder = _sortingOrder
|
|
this:ExChangeShow()
|
|
end
|
|
--限时兑换活动
|
|
this.liveNode=nil
|
|
this.liveName=nil
|
|
function ExChange:ExChangeShow()
|
|
local LimitExchange = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.LimitExchange)
|
|
if LimitExchange then
|
|
Log("LimitExchange "..LimitExchange.endTime)
|
|
PatFaceManager.RemainTimeDown(this.timeTextExChangeGo,this.timeTextExChange,LimitExchange.endTime - GetTimeStamp())
|
|
else
|
|
this.timeTextExChangeGo:SetActive(false)
|
|
end
|
|
|
|
local exChangeConFig = ConfigManager.GetConfigDataByKey(ConfigName.ExchangeActivityConfig, "ActivityId", LimitExchange.activityId)
|
|
heroConfig = ConfigManager.GetConfigData(ConfigName.HeroConfig,exChangeConFig.AwardHeroId)
|
|
|
|
if this.liveNode then
|
|
poolManager:UnLoadLive(this.liveName, this.liveNode)
|
|
this.liveName=nil
|
|
end
|
|
this.liveName = GetResourcePath(heroConfig.Live)
|
|
this.liveNode = poolManager:LoadLive(this.liveName, this.live2dRoot.transform,
|
|
Vector3.one * exChangeConFig.HeroShowScale, Vector3.New(exChangeConFig.HeroShowLocation[1], exChangeConFig.HeroShowLocation[2],0))
|
|
|
|
this.profession.sprite = Util.LoadSprite(GetJobSpriteStrByJobNum(heroConfig.Profession))
|
|
this.proImage.sprite =Util.LoadSprite(GetProStrImageByProNum(heroConfig.PropertyName))
|
|
this.heroName.text =heroConfig.ReadingName
|
|
this.quality.text = heroConfig.Natural
|
|
|
|
Util.ClearChild(this.exChangeRewardParent.transform)
|
|
for i = 1, #exChangeConFig.ShowItem do
|
|
local rewardInfo = {exChangeConFig.ShowItem[i],0}
|
|
SubUIManager.Open(SubUIConfig.ItemView, this.exChangeRewardParent.transform):OnOpen(false,rewardInfo,1.1,false,false,false,sortingOrder)
|
|
end
|
|
local itemConFig = ConfigManager.GetConfigData(ConfigName.ItemConfig,exChangeConFig.ActivityItem)
|
|
this.exChangeRewardIcon.sprite = Util.LoadSprite(GetResourcePath(itemConFig.ResourceID))
|
|
|
|
this.exChangeBuyNum.text = PrintWanNum(BagManager.GetItemCountById(exChangeConFig.ActivityItem))
|
|
this.exChangeBuyIcon.sprite = Util.LoadSprite(GetResourcePath(itemConFig.ResourceID))
|
|
local descTabs = string.split( exChangeConFig.Desc,"#")
|
|
for i = 1, #exChangeInfoGrid do
|
|
if #descTabs >= i then
|
|
exChangeInfoGrid[i]:SetActive(true)
|
|
exChangeInfoGrid[i]:GetComponent("Text").text = "·"..descTabs[i]
|
|
else
|
|
exChangeInfoGrid[i]:SetActive(false)
|
|
end
|
|
end
|
|
Util.AddOnceClick(this.exChangeBuyBtn, function()
|
|
JumpManager.GoJump(exChangeConFig.ItemJump)
|
|
end)
|
|
Util.AddOnceClick(this.exChangeGoBtn, function()
|
|
local exChangeConFig = ConfigManager.GetConfigData(ConfigName.ExchangeActivityConfig,1)
|
|
if not ShopManager.IsActive(exChangeConFig.ShopId) then
|
|
PopupTipPanel.ShowTip("商店未开启")
|
|
return
|
|
end
|
|
UIManager.OpenPanel(UIName.MainShopPanel,exChangeConFig.ShopId)
|
|
end)
|
|
end
|
|
--界面关闭时调用(用于子类重写)
|
|
function ExChange:OnClose()
|
|
|
|
if this.liveNode then
|
|
poolManager:UnLoadLive(this.liveName, this.liveNode)
|
|
this.liveNode = nil
|
|
this.liveName = nil
|
|
end
|
|
end
|
|
|
|
--界面销毁时调用(用于子类重写)
|
|
function ExChange:OnDestroy()
|
|
|
|
end
|
|
|
|
return ExChange
|