----- 送神弹窗 ----- 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.confirmBtn=Util.GetGameObject(gameObject,"ConfirmBtn") this.prefab=Util.GetGameObject(gameObject,"item") --滚动条根节点 this.root = Util.GetGameObject(gameObject, "Root") this.preList={} end function this:BindEvent() Util.AddClick(this.confirmBtn,function() parent:ClosePanel() end) end function this:AddListener() end function this:RemoveListener() end function this:OnShow(_parent) parent=_parent sortingOrder =_parent.sortingOrder local heroDatas = RecruitManager.newWishList for i = 1, math.max(#this.preList,#heroDatas) do local item=this.preList[i] if not item then item=newObject(this.prefab) item.transform:SetParent(this.root.transform) item.transform.localScale=Vector3.one item.transform.localPosition=Vector3.zero this.preList[i]=item end item.gameObject:SetActive(false) LogRed("heroDatas[i]:"..tostring(heroDatas[i])) this.SingleHeroDataShow(item,heroConfig[heroDatas[i]]) end end --英雄单个数据展示 function this.SingleHeroDataShow(go,_heroData) 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") SetHeroStars(this.spLoader, starGrid, heroData.Star,1,nil,-15) local cardclickBtn = Util.GetGameObject(_go.transform, "icon") 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