diff --git a/Assets/ManagedResources/~Lua/Modules/DynamicActivity/DynamicActivityPanel.lua b/Assets/ManagedResources/~Lua/Modules/DynamicActivity/DynamicActivityPanel.lua index 4a16670ba6..f2683ea5be 100644 --- a/Assets/ManagedResources/~Lua/Modules/DynamicActivity/DynamicActivityPanel.lua +++ b/Assets/ManagedResources/~Lua/Modules/DynamicActivity/DynamicActivityPanel.lua @@ -67,7 +67,7 @@ local DynamicActPage=require("Modules/DynamicActivity/DynamicTaskPage") local ZhenQiYiBaoPage=require("Modules/DynamicActivity/ZhenQiYiBaoPage") local LeiJiChongZhiPage=require("Modules/DynamicActivity/LeiJiChongZhiPage") local XianShiShangShi=require("Modules/DynamicActivity/XianShiShangShi") -local XianShiDuiHuan=require("Modules/Expert/ExChange") +local XianShiDuiHuan=require("Modules/Expert/DynamicActivityExChange") --初始化组件(用于子类重写) function DynamicActivityPanel:InitComponent() diff --git a/Assets/ManagedResources/~Lua/Modules/Expert/DynamicActivityExChange.lua b/Assets/ManagedResources/~Lua/Modules/Expert/DynamicActivityExChange.lua new file mode 100644 index 0000000000..7cf6965001 --- /dev/null +++ b/Assets/ManagedResources/~Lua/Modules/Expert/DynamicActivityExChange.lua @@ -0,0 +1,163 @@ +local ExChange = quick_class("ExChange") +local this = ExChange + +local exChangeInfoGrid = {}--限时兑换内容 +local heroConfig +local itemList = {} --itemView优化 +local cursortingOrder +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(...) + itemList = {} +end +local sortingOrder = 0 +--界面打开或者重新打开后,界面刷新时调用(用于子类重写) +function ExChange:OnShow(_sortingOrder) + + sortingOrder = _sortingOrder + this:ExChangeShow() +end +function ExChange:OnSortingOrderChange(_cursortingOrder) + cursortingOrder = _cursortingOrder + for i, v in pairs(itemList) do + v:SetEffectLayer(cursortingOrder) + end +end +--限时兑换活动 +this.liveNode=nil +this.liveName=nil +function ExChange:ExChangeShow() + local LimitExchange = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.LimitExchange) + if LimitExchange then + local str = Language[11496] + -- Log("LimitExchange "..LimitExchange.endTime) + PatFaceManager.RemainTimeDown(this.timeTextExChangeGo,this.timeTextExChange,LimitExchange.endTime - GetTimeStamp(),str) + 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} + if itemList[i] then + itemList[i]:OnOpen(false,rewardInfo,1.1,false,false,false,sortingOrder) + else + itemList[i] = SubUIManager.Open(SubUIConfig.ItemView, this.exChangeRewardParent.transform) + itemList[i]:OnOpen(false,rewardInfo,1.1,false,false,false,sortingOrder) + end + 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(Language[10528]) + 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:OnHide() + if this.liveNode then + poolManager:UnLoadLive(this.liveName, this.liveNode) + this.liveNode = nil + this.liveName = nil + end +end +--界面销毁时调用(用于子类重写) +function ExChange:OnDestroy() + itemList = {} +end + +return ExChange \ No newline at end of file diff --git a/Assets/ManagedResources/~Lua/Modules/Expert/DynamicActivityExChange.lua.meta b/Assets/ManagedResources/~Lua/Modules/Expert/DynamicActivityExChange.lua.meta new file mode 100644 index 0000000000..d57a1ce825 --- /dev/null +++ b/Assets/ManagedResources/~Lua/Modules/Expert/DynamicActivityExChange.lua.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 746cdfcd4979e2640b3ba75e0e1f340f +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: