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

131 lines
4.1 KiB
Lua

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("<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