miduo_client/Assets/ManagedResources/~Lua/View/HarmonyView.lua

161 lines
5.4 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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("<color=#0f0>%d</color>",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