HarmonyView={} -- 鸿蒙守卫脚本 function HarmonyView:New(gameObject) local b = {} b.gameObject = gameObject b.transform = gameObject.transform setmetatable(b, { __index = HarmonyView }) return b end HarmonyView.GongMingTable = {} HarmonyView.HongMengData = {} function HarmonyView:InitComponent() local num = self.gameObject.transform.childCount -- for i = 0, num-1 do -- self.GongMingTable[i] =self.gameObject.transform:GetChild(i).gameObject -- end for i = 1, 6 do self.GongMingTable[i] = Util.GetGameObject(self.gameObject, "item (" .. i .. ")") end end function HarmonyView:BindEvent() end function HarmonyView:AddListener() end function HarmonyView:RemoveListener() end function HarmonyView:SetGreen(HongMengData) local min = HongMengData[#self.GongMingTable].lv for i = 0, #self.GongMingTable do if HongMengData[i+1].lv == min then self.count=self.count+1; end end end function HarmonyView:InitData(data) table.sort(data, function(a,b) if a.lv==b.lv then return a.warPower > b.warPower else return a.lv > b.lv end end) -- return data end function HarmonyView:OnOpen() local heroDataList = {} if HarmonyManager.hongmengGuards and #HarmonyManager.hongmengGuards > 0 then for i = 1, #HarmonyManager.hongmengGuards do if HarmonyManager.hongmengGuards[i].heroId ~= "" then -- body table.insert(heroDataList,HeroManager.GetSingleHeroData(HarmonyManager.hongmengGuards[i].heroId)) --LogBlue("刷新IsHaveHero:"..HarmonyManager.hongmengGuards[i].heroId.." ::: "..tostring(HeroManager.IsHaveHero(HarmonyManager.hongmengGuards[i].heroId))) if not HeroManager.IsHaveHero(HarmonyManager.hongmengGuards[i].heroId) then for k = 1, #HarmonyManager.hongmengHeroInfos do -- body if HarmonyManager.hongmengGuards[i].heroId == HarmonyManager.hongmengHeroInfos[k].heroId then -- body LogPink(HeroManager.GetSingleHeroData(HarmonyManager.hongmengHeroInfos[k].heroId)) end end -- body end end end end --LogGreen("heroDataList长度:"..#heroDataList) -- if #heroDataList > 0 then -- table.sort(heroDataList, function(a,b) -- if a.lv==b.lv then -- return a.warPower > b.warPower -- else -- return a.lv > b.lv -- end -- end) -- end -- self.count = 1; -- self:SetGreen(self.HongMengData) --LogGreen(heroDataList[6].name) for i = 1, 6 do local singleHeroData = {} if heroDataList[i] then singleHeroData = heroDataList[i] self.HongMengData[i] = singleHeroData if heroDataList[i].lv== heroDataList[#heroDataList].lv then -- body self:SetItem(self.HongMengData[i],self.GongMingTable[i],1) else self:SetItem(self.HongMengData[i],self.GongMingTable[i],0) end else self.HongMengData[i] = singleHeroData self:SetItem(nil,self.GongMingTable[i],0) end end HarmonyManager.equipCount = 0 for i = 1, #self.HongMengData do if self.HongMengData[i] then -- body if self.HongMengData[i].equipIdList then -- body for i = 1, #self.HongMengData[i].equipIdList do HarmonyManager.equipCount= HarmonyManager.equipCount+1 end end end end print(Language[12229]..HarmonyManager.equipCount) -- for i = 0, #self.GongMingTable do -- if i == 5 then -- self:SetItem(self.HongMengData[i+1],self.GongMingTable[i],1) -- else -- self:SetItem(self.HongMengData[i+1],self.GongMingTable[i],0) -- end -- end HarmonyManager:SetGuardList(self.HongMengData,#heroDataList) end function HarmonyView:SetItem(data,go,flag) if data then Util.GetGameObject(go.transform,"GameObject/infoGo"):SetActive(true) Util.GetGameObject(go.transform, "GameObject/frame"):GetComponent("Image").sprite = Util.LoadSprite(GetHeroQuantityImageByquality(data.heroConfig.Quality,data.star)) if flag == 0 then Util.GetGameObject(go.transform, "GameObject/infoGo/lv/Text"):GetComponent("Text").text = data.lv else Util.GetGameObject(go.transform, "GameObject/infoGo/lv/Text"):GetComponent("Text").text = string.format("%d",data.lv) end Util.GetGameObject(go.transform, "GameObject/icon"):GetComponent("Image").sprite = Util.LoadSprite(data.icon) Util.GetGameObject(go.transform, "GameObject/infoGo/proIcon"):GetComponent("Image").sprite = Util.LoadSprite(GetProStrImageByProNum(data.heroConfig.PropertyName)) local starGrid = Util.GetGameObject(go.transform, "GameObject/infoGo/star") SetHeroStars(starGrid, data.star,1,nil,nil,Vector2.New(0,1)) else Util.GetGameObject(go.transform,"GameObject/infoGo"):SetActive(false) end end return HarmonyView