149 lines
5.6 KiB
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
|
|
|