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

160 lines
5.3 KiB
Lua
Raw Normal View History

2020-12-15 11:03:34 +08:00
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
2020-12-21 15:10:23 +08:00
-- 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 .. ")")
2020-12-15 11:03:34 +08:00
end
2020-11-27 17:59:25 +08:00
end
2020-12-15 11:03:34 +08:00
function HarmonyView:BindEvent()
end
function HarmonyView:AddListener()
2020-11-27 17:59:25 +08:00
2020-12-15 11:03:34 +08:00
end
function HarmonyView:RemoveListener()
end
2020-11-27 17:59:25 +08:00
2020-12-15 11:03:34 +08:00
function HarmonyView:SetGreen(HongMengData)
2020-12-21 15:10:23 +08:00
2020-12-15 11:03:34 +08:00
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)
2020-12-21 15:10:23 +08:00
-- return data
2020-12-15 11:03:34 +08:00
end
function HarmonyView:OnOpen()
2020-12-21 15:10:23 +08:00
local heroDataList = {}
if HarmonyManager.hongmengGuards and #HarmonyManager.hongmengGuards > 0 then
for i = 1, #HarmonyManager.hongmengGuards do
2020-12-24 16:16:53 +08:00
if HarmonyManager.hongmengGuards[i].heroId ~= "" then
-- body
2020-12-26 15:07:51 +08:00
2020-12-24 16:16:53 +08:00
table.insert(heroDataList,HeroManager.GetSingleHeroData(HarmonyManager.hongmengGuards[i].heroId))
2020-12-28 10:44:31 +08:00
--LogBlue("刷新IsHaveHero:"..HarmonyManager.hongmengGuards[i].heroId.." ::: "..tostring(HeroManager.IsHaveHero(HarmonyManager.hongmengGuards[i].heroId)))
2020-12-26 15:07:51 +08:00
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
2020-12-24 16:16:53 +08:00
end
2020-12-21 15:10:23 +08:00
end
end
2020-12-28 10:44:31 +08:00
--LogGreen("heroDataList长度"..#heroDataList)
2020-12-23 17:41:31 +08:00
-- 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
2020-12-24 16:16:53 +08:00
2020-12-21 15:10:23 +08:00
-- self.count = 1;
-- self:SetGreen(self.HongMengData)
2020-12-23 17:41:31 +08:00
--LogGreen(heroDataList[6].name)
2020-12-21 15:10:23 +08:00
for i = 1, 6 do
local singleHeroData = {}
if heroDataList[i] then
singleHeroData = heroDataList[i]
self.HongMengData[i] = singleHeroData
2020-12-24 16:16:53 +08:00
if heroDataList[i].lv== heroDataList[#heroDataList].lv then
2020-12-21 15:10:23 +08:00
-- body
2020-12-26 15:07:51 +08:00
2020-12-21 15:10:23 +08:00
self:SetItem(self.HongMengData[i],self.GongMingTable[i],1)
else
self:SetItem(self.HongMengData[i],self.GongMingTable[i],0)
end
2020-12-15 11:03:34 +08:00
else
2020-12-21 15:10:23 +08:00
self.HongMengData[i] = singleHeroData
self:SetItem(nil,self.GongMingTable[i],0)
2020-12-15 11:03:34 +08:00
end
end
2020-12-24 16:16:53 +08:00
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
2020-12-21 15:10:23 +08:00
-- 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)
2020-12-15 11:03:34 +08:00
end
function HarmonyView:SetItem(data,go,flag)
2020-12-21 15:10:23 +08:00
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))
2020-12-15 11:03:34 +08:00
else
2020-12-21 15:10:23 +08:00
Util.GetGameObject(go.transform,"GameObject/infoGo"):SetActive(false)
2020-12-15 11:03:34 +08:00
end
end
2020-11-27 17:59:25 +08:00
return HarmonyView