miduo_client/Assets/ManagedResources/~Lua/Modules/SacredTree/SacredTreePanel.lua

104 lines
4.1 KiB
Lua

require("Base/BasePanel")
SacredTreePanel = Inherit(BasePanel)
local treeLevelConfig = ConfigManager.GetConfig(ConfigName.GodHoodTreeLevel)
local itemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig)
local artConfig = ConfigManager.GetConfig(ConfigName.ArtResourcesConfig)
local attriConfig = ConfigManager.GetConfigDataByKey(ConfigName.GodHoodTreeSetting,"Id",0)
local curTreeLevel = 0
local length = 0
function SacredTreePanel:InitComponent()
--button
self.UpView = SubUIManager.Open(SubUIConfig.UpView, self.gameObject.transform, { showType = UpViewOpenType.ShowLeft })
self.backBtn = Util.GetGameObject(self.transform, "backBtn")
self.helpBtn = Util.GetGameObject(self.transform, "helpBtn")
self.helpPos = self.helpBtn:GetComponent("RectTransform").localPosition
self.attriBtn = Util.GetGameObject(self.transform, "attriBtn")
self.upgradeBtn = Util.GetGameObject(self.transform, "upgradeBtn")
--show
self.treeLevel = Util.GetGameObject(self.transform, "bg/level"):GetComponent("Text")
self.needIcon = Util.GetGameObject(self.transform, "tips/Image"):GetComponent("Image")
self.needNum = Util.GetGameObject(self.transform, "tips/num"):GetComponent("Text")
self.upGrade = Util.GetGameObject(self.transform, "upgradeBtn/Text"):GetComponent("Text")
self.attriNum = Util.GetGameObject(self.transform, "attriBtn/num"):GetComponent("Text")
end
function SacredTreePanel:BindEvent()
Util.AddClick(self.backBtn, function()
self:ClosePanel()
end)
Util.AddClick(self.helpBtn, function()
UIManager.OpenPanel(UIName.HelpPopup,HELP_TYPE.SacredTree,self.helpPos.x,self.helpPos.y)
end)
Util.AddClick(self.attriBtn, function()
UIManager.OpenPanel(UIName.GeneralBigPopup,GENERAL_POPUP_TYPE.ShenYingShuXing)
end)
Util.AddClick(self.upgradeBtn, function()
if curTreeLevel >= length then
PopupTipPanel.ShowTip("神树已达最大等级~")
else
local num = BagManager.GetTotalItemNum(treeLevelConfig[curTreeLevel].LvupCost[1])
if num < treeLevelConfig[curTreeLevel].LvupCost[2] then
PopupTipPanel.ShowTip(Language[11197])
else
local oldPower = FormationManager.GetFormationPower(FormationTypeDef.FORMATION_NORMAL)
NetManager.UpgradeGodTreeRequest(function ()
if curTreeLevel == 0 then
PopupTipPanel.ShowTip("成功解锁神树~")
end
SacredTreeManager.OnPowerChange(oldPower)
SacredTreePanel:OnShow()
end)
end
end
end)
end
--添加事件监听(用于子类重写)
function SacredTreePanel:AddListener()
end
--移除事件监听(用于子类重写)
function SacredTreePanel:RemoveListener()
end
function SacredTreePanel:OnOpen()
self.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.SacredTree})
end
function SacredTreePanel:OnShow()
curTreeLevel = SacredTreeManager.treeLevel
length = LengthOfTable(SacredTreeManager.treeLevelConfig)
Util.SetGray(self.upgradeBtn,curTreeLevel >= length)
if curTreeLevel > 0 and curTreeLevel < length then
self.treeLevel.text = "等级:"..curTreeLevel
self.upGrade.text = Language[11090]
elseif curTreeLevel >= length then
self.treeLevel.text = "等级:"..length
self.upGrade.text = "等级已满"
elseif curTreeLevel <= 0 then
self.treeLevel.text = "未解锁"
self.upGrade.text = "解 锁"
end
if curTreeLevel < length then
self.needIcon.sprite = Util.LoadSprite(artConfig[itemConfig[treeLevelConfig[curTreeLevel].LvupCost[1]].ResourceID].Name)
self.needNum.text = treeLevelConfig[curTreeLevel].LvupCost[2]
else
self.needIcon.gameObject:SetActive(curTreeLevel < length)
self.needNum.gameObject:SetActive(curTreeLevel < length)
end
self.attriNum.text = SacredTreeManager.CulAttri().."/"..#attriConfig.PropertyUnlcokLevels
end
function SacredTreePanel:OnClose()
-- body
end
function SacredTreePanel:OnDestroy()
SubUIManager.Close(self.UpView)
end
return SacredTreePanel