----- 送神弹窗 ----- local this = {} --传入父脚本模块 local parent --传入特效层级 local sortingOrder=0 local args=nil local currHeroId=0 local heroConfig=ConfigManager.GetConfig(ConfigName.HeroConfig) local itemConfig=ConfigManager.GetConfig(ConfigName.ItemConfig) local artResourcesConfig =ConfigManager.GetConfig(ConfigName.ArtResourcesConfig) function this:InitComponent(gameObject) this.spLoader = SpriteLoader.New() this.titleText=Util.GetGameObject(gameObject,"TitleText"):GetComponent("Text") this.titleText.text="许愿神将" this.cancelBtn=Util.GetGameObject(gameObject,"CancelBtn") this.confirmBtn=Util.GetGameObject(gameObject,"ConfirmBtn") this.FourStarUpTip=Util.GetGameObject(gameObject,"tip"):GetComponent("Text") this.FourStarUpTip.text = "长按头像可查看神将详情" this.selectObj=Util.GetGameObject(gameObject,"choosed") this.prefab=Util.GetGameObject(gameObject,"item") --滚动条根节点 this.root = Util.GetGameObject(gameObject, "Root") this.preList={} local rootHight = this.root.transform.rect.height local width = this.root.transform.rect.width this.ScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, this.root.transform, this.prefab,nil, Vector2.New(width, rootHight), 1, 5,Vector2.New(20,40)) this.ScrollView.moveTween.MomentumAmount = 1 this.ScrollView.moveTween.Strength = 2 this.ScrollView.elastic = false end function this:BindEvent() Util.AddClick(this.cancelBtn,function() parent:ClosePanel() end) Util.AddClick(this.confirmBtn,function() NetManager.ChoiceHeroRewardRequest(args[1],currHeroId,function() ActivityGiftManager.SetActivityInfoRewardId(args[1],currHeroId) Game.GlobalEvent:DispatchEvent(GameEvent.Activity.TimeLimitUpHeroChange,currHeroId) parent:ClosePanel() end) end) end function this:AddListener() end function this:RemoveListener() end function this:OnShow(_parent,_args) args = _args parent=_parent sortingOrder =_parent.sortingOrder local upConfig=ConfigManager.GetConfigDataByKey(ConfigName.WishActivityUp,"ActivityId",args[1]) if not upConfig then return end local str=upConfig.UpList local heros={} for i = 1, #str do table.insert(heros,str[i][1]) end local heroDatas={} currHeroId=args[2] for i = 1, #heros do table.insert(heroDatas,heroConfig[heros[i]]) end this.ScrollView:SetData(heroDatas, function(index, go) this.SingleHeroDataShow(go,heroDatas[index],index) end) end --英雄单个数据展示 function this.SingleHeroDataShow(go,_heroData,_index) local heroData = _heroData local _go = go _go.gameObject:SetActive(true) Util.GetGameObject(_go.transform, "frame"):GetComponent("Image").sprite = this.spLoader:LoadSprite(GetHeroQuantityImageByquality(heroData.Quality,heroData.Star)) Util.GetGameObject(_go.transform, "Text"):GetComponent("Text").text = SubString2(GetLanguageStrById(heroData.ReadingName),8) Util.GetGameObject(_go.transform, "icon"):GetComponent("Image").sprite = this.spLoader:LoadSprite(artResourcesConfig[_heroData.Icon].Name) Util.GetGameObject(_go.transform, "posIcon"):SetActive(false) Util.GetGameObject(_go.transform, "proIcon"):GetComponent("Image").sprite = this.spLoader:LoadSprite(GetProStrImageByProNum(heroData.PropertyName)) local starGrid = Util.GetGameObject(_go.transform, "star") if _heroData.Id==currHeroId then this.selectObj.transform:SetParent(_go.transform) this.selectObj.transform.localScale=Vector3.one this.selectObj.transform.localPosition=Vector3.New(0,0,0) end SetHeroStars(this.spLoader, starGrid, heroData.Star,1,nil,-15) local cardclickBtn = Util.GetGameObject(_go.transform, "icon") Util.AddOnceClick(cardclickBtn, function() this.selectObj.transform:SetParent(_go.transform) this.selectObj.transform.localScale=Vector3.one this.selectObj.transform.localPosition=Vector3.New(0,0,0) currHeroId=_heroData.Id end) Util.AddLongPressClick(cardclickBtn, function() UIManager.OpenPanel(UIName.RoleGetInfoPopup, false, heroData.Id, heroData.Star) end, 0.5) end function this:OnClose() currHeroId=0 args=nil end function this:OnDestroy() this.spLoader:Destroy() end return this