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 table.insert(heroDataList,HeroManager.GetSingleHeroData(HarmonyManager.hongmengGuards[i].heroId)) end end 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 for i = 1, #self.HongMengData do for i = 1, #self.HongMengData[i].equipIdList do HarmonyManager.equipCount= HarmonyManager.equipCount+1 end end -- self.count = 1; -- self:SetGreen(self.HongMengData) for i = 1, 6 do local singleHeroData = {} if heroDataList[i] then singleHeroData = heroDataList[i] self.HongMengData[i] = singleHeroData if i== 6 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 -- 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