miduo_client/Assets/ManagedResources/~Lua/Modules/Harmony/EnvoyItem/EnvoyItem.lua

149 lines
5.6 KiB
Lua

EnvoyItem={}
-- 鸿蒙守卫脚本
function EnvoyItem:New(gameObject)
local b = {}
b.gameObject = gameObject
b.transform = gameObject.transform
setmetatable(b, { __index = EnvoyItem })
return b
end
EnvoyItem.GongMingTable = {}
EnvoyItem.HongMengData = {}
EnvoyItem.data = nil
function EnvoyItem:InitComponent(parent,data)
self.spLoader = SpriteLoader.New()
self.data = data
self.gameObject.transform:SetParent(parent.transform,false)
self.lock = Util.GetGameObject(self.gameObject,"Box/Empty/lock")
self.Empty = Util.GetGameObject(self.gameObject,"Box/Empty")
self.timer_text = Util.GetGameObject(self.gameObject,"Box/Empty/frame/Text"):GetComponent("Text")
self.AddImage = Util.GetGameObject(self.gameObject,"Box/Empty/frame/AddImage")
self.RedPoint = Util.GetGameObject(self.gameObject,"Box/Empty/redPoint")
self.heroGo = Util.GetGameObject(self.gameObject, "GameObject")
self.proIcon = Util.GetGameObject(self.gameObject, "GameObject/proIcon"):GetComponent("Image")
self.frame = Util.GetGameObject(self.gameObject, "GameObject/frame"):GetComponent("Image")
self.lv = Util.GetGameObject(self.gameObject, "GameObject/lv/Text"):GetComponent("Text")
self.icon = Util.GetGameObject(self.gameObject, "GameObject/icon"):GetComponent("Image")
self.starGrid = Util.GetGameObject(self.gameObject, "GameObject/star")
end
function EnvoyItem:BindEvent()
end
function EnvoyItem:AddListener()
end
function EnvoyItem:RemoveListener()
end
function EnvoyItem:SetItemData(data)
-- body
self.data = data
end
function EnvoyItem:OnOpen()
self.lock:SetActive(false)
self:SetItem(self.gameObject,self.data)
Util.AddOnceClick(self.gameObject,function ()
-- body
HarmonyManager.GongMingBox = self.data.gridId
if self.data.heroId~="" then
-- body
UIManager.OpenPanel(UIName.HongMengEnvoyUnloadPanel,self.data)
else
if self.data.time - GetTimeStamp() > 0 then
local content = ""
local str = ConfigManager.GetConfigData(ConfigName.SpecialConfig,100).Value
local num = tonumber(string.split(str,"#")[1])
local money = math.ceil((self.data.time - GetTimeStamp()) / num)*tonumber(string.split(str,"#")[3])
content =string.format(Language[12189],money)
MsgPanel.ShowTwo(content,function ()
MsgPanel.Hide()
end,function ()
if BagManager.GetTotalItemNum(UpViewRechargeType.DemonCrystal) < money then
PopupTipPanel.ShowTip(Language[10846])
MsgPanel.Hide()
return
end
--向服务器 发消息
NetManager.UnlockGrid(self.data.gridId,2,function (msg)
-- body
for i = 1, #HarmonyManager.hongmengGuards do
-- body
if HarmonyManager.hongmengGuards[i].gridId ==self.data.gridId then
HarmonyManager.hongmengGuards[i].time = 0
end
end
self.timer_text.text = ""
self.data.time = 0
self.AddImage:SetActive(true)
end,Language[10731],Language[11934])
end)
-- body
else
UIManager.OpenPanel(UIName.HongMengChooseHeroPanel,true)
end
end
end)
end
function EnvoyItem:UpdateFun()
-- body
self:SetItem(self.gameObject,self.data)
end
local sortingOrder=0
function EnvoyItem:SetItem(go,data)
-- --LogGreen("HeroId",data.heroId)
CheckRedPointStatus(RedPointType.HongMeng_Evory)
if data.heroId ~= "" then
self.heroGo:SetActive(true)
-- body
local heroSingleData = HeroManager.GetSingleHeroData(data.heroId)
self.Empty:SetActive(false)
self.RedPoint:SetActive(false)
self.frame.sprite = self.spLoader:LoadSprite(GetHeroQuantityImageByquality(heroSingleData.heroConfig.Quality,heroSingleData.star))
local data = HarmonyManager.GetSingleAdditions(HarmonyAddType.AddLv)
if heroSingleData.lv == data then
-- body
self.lv.text = string.format("<color=#ffbe22>%d</color>",heroSingleData.lv)
else
self.lv.text = string.format("<color=red>%d</color>",heroSingleData.lv)
end
self.icon:GetComponent("Image").sprite = self.spLoader:LoadSprite(heroSingleData.icon)
self.proIcon.sprite = self.spLoader:LoadSprite(GetProStrImageByProNum(heroSingleData.changeProId))
local star,starType = heroSingleData.GetStar(1)
SetHeroStars(self.spLoader, self.starGrid, star,starType,nil,nil,Vector2.New(0,1))
SetHeroFlyEffect(self.heroGo,self.spLoader,heroSingleData.star,sortingOrder+1,1,2,20)
ForceRebuildLayout(self.starGrid.transform)
else
self.Empty:SetActive(true)
self.heroGo:SetActive(false)
if self.data.time-GetTimeStamp() > 0 then
-- body
print(Language[12190]..self.data.time-GetTimeStamp())
self.AddImage:SetActive(false)
self.RedPoint:SetActive(false)
else
print(Language[12191])
self.AddImage:SetActive(true)
self.RedPoint:SetActive(true)
end
end
end
function EnvoyItem:SetEffectLayer(sort)
sortingOrder=sort
Util.SetParticleSortLayer(self.starGrid,sort + 1)
end
return EnvoyItem