miduo_client/Assets/ManagedResources/~Lua/Modules/Popup/EquipInfoPopup.lua

105 lines
4.4 KiB
Lua

require("Base/BasePanel")
EquipInfoPopup = Inherit(BasePanel)
local this = EquipInfoPopup
this.skillConfig=ConfigManager.GetConfig(ConfigName.SkillConfig)
--初始化组件(用于子类重写)
function this:InitComponent()
this.spLoader = SpriteLoader.New()
this.panel=Util.GetGameObject(self.transform,"Panel"):GetComponent("RectTransform")
this.BtnBack = Util.GetGameObject(self.transform, "btnBack")
this.equipName = Util.GetGameObject( this.panel, "image/title"):GetComponent("Text")
this.frame = Util.GetGameObject( this.panel, "equip/frame"):GetComponent("Image")
this.icon = Util.GetGameObject( this.panel, "equip/icon"):GetComponent("Image")
this.equipEffect=Util.GetGameObject( this.panel, "effect/text"):GetComponent("Text")
this.equipType=Util.GetGameObject( this.panel, "desc/type"):GetComponent("Text")
this.equipRebuildAble=Util.GetGameObject( this.panel, "desc/rebuildAble"):GetComponent("Text")
this.equipRebuildLv=Util.GetGameObject( this.panel, "desc/rebuildLv")
this.equipPro=Util.GetGameObject( this.panel, "desc/pro"):GetComponent("Text")
this.equipProPre=Util.GetGameObject( this.panel, "equipProPre")
this.equipProGrid=Util.GetGameObject( this.panel, "equipProGrid")
end
--绑定事件(用于子类重写)
function this:BindEvent()
Util.AddClick(this.BtnBack, function()
PlaySoundWithoutClick(SoundConfig.Sound_UICancel)
self:ClosePanel()
end)
end
--添加事件监听(用于子类重写)
function this:AddListener()
end
--移除事件监听(用于子类重写)
function this:RemoveListener()
end
function this:OnShow()
end
--界面打开时调用(用于子类重写)
function this:OnOpen(...)
local args = {...}
local curEquipData=args[1]
local pos_Y=args[2]
this.panel:DOAnchorPosY(pos_Y-100,0)
this.equipName.text=GetLanguageStrById(curEquipData.equipConfig.Name)
this.frame.sprite = this.spLoader:LoadSprite(curEquipData.frame)
this.icon.sprite = this.spLoader:LoadSprite(curEquipData.icon)
if curEquipData.skillId and curEquipData.skillId > 0 then
local cfg = ConfigManager.GetConfigData(ConfigName.PassiveSkillConfig,curEquipData.skillId)
this.equipEffect.text=GetSkillConfigDesc(cfg)
else
this.equipEffect.text=""
end
this.equipType.text=string.format(Language[11476],GetEquipPosStrByEquipPosNum(curEquipData.equipConfig.Position))
if curEquipData.equipConfig.IfClear==0 then
this.equipRebuildAble.text=Language[11477]
this.equipRebuildLv:GetComponent("Text").text=Language[11478]
elseif curEquipData.equipConfig.IfClear==1 then
this.equipRebuildAble.text=Language[11479]
this.equipRebuildLv:GetComponent("Text").text=string.format(Language[11480],curEquipData.resetLv)--工坊等级
end
this.equipPro.text=string.format(Language[11481],GetJobStrByJobNum(curEquipData.equipConfig.ProfessionLimit))
Util.ClearChild(this.equipProGrid.transform)
local equipAllPro = curEquipData.mainAttribute
--for i = 1, #curEquipData.secondAttribute do
-- table.insert(equipAllPro,curEquipData.secondAttribute[i])
-- Log("curEquipData.secondAttribute[i] "..curEquipData.secondAttribute[i].propertyId)
--end
--装备
for i = 1, #equipAllPro do
local go = newObject(this.equipProPre)
go.transform:SetParent(this.equipProGrid.transform)
go.transform.localScale = Vector3.one
go.transform.localPosition = Vector3.zero
go:SetActive(true)
--Log("v.propertyId "..v.propertyId)
Util.GetGameObject(go.transform, "proName"):GetComponent("Text").text = GetLanguageStrById(equipAllPro[i].PropertyConfig.Info)
if equipAllPro[i].PropertyConfig.Style==1 then--绝对值
Util.GetGameObject(go.transform, "proVal"):GetComponent("Text").text = equipAllPro[i].propertyValue
elseif equipAllPro[i].PropertyConfig.Style==2 then--百分百
Util.GetGameObject(go.transform, "proVal"):GetComponent("Text").text = tostring(equipAllPro[i].propertyValue/100).."%"
end
end
end
--界面关闭时调用(用于子类重写)
function this:OnClose()
end
--界面销毁时调用(用于子类重写)
function this:OnDestroy()
this.spLoader:Destroy()
end
function EquipInfoPopup:GetEquipSkillData(skillId)
return this.skillConfig[skillId]
end
return EquipInfoPopup;