124 lines
5.1 KiB
Lua
124 lines
5.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 orginLayer = 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")
|
|
self.treeRed = Util.GetGameObject(self.transform, "upgradeBtn/redPoint")
|
|
|
|
--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")
|
|
|
|
self.UI_effect_RecruitPanel_particle = Util.GetGameObject(self.transform, "UI_effect_RecruitPanel_particle")
|
|
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(string.format("%s不足!",itemConfig[treeLevelConfig[curTreeLevel].LvupCost[1]].Name))
|
|
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)
|
|
BindRedPointObject(RedPointType.Sacred,self.treeRed)
|
|
end
|
|
|
|
function SacredTreePanel:OnSortingOrderChange()
|
|
Util.AddParticleSortLayer(self.UI_effect_RecruitPanel_particle, self.sortingOrder - orginLayer)
|
|
orginLayer = self.sortingOrder
|
|
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()
|
|
CheckRedPointStatus(RedPointType.Sacred)
|
|
self.treeRed:SetActive(SacredTreeManager.CheckRedPoint())
|
|
curTreeLevel = SacredTreeManager.treeLevel
|
|
length = LengthOfTable(SacredTreeManager.SacredtreeLevelConfig)
|
|
|
|
local str1,str2
|
|
Util.SetGray(self.upgradeBtn,curTreeLevel >= length)
|
|
if curTreeLevel > 0 and curTreeLevel < length then
|
|
str1 = string.format(GetLanguageStrById("等级:%s"),curTreeLevel)
|
|
str2 = Language[11063]
|
|
elseif curTreeLevel >= length then
|
|
str1 = string.format(GetLanguageStrById("等级:%s"),length)
|
|
str2 = "等级已满"
|
|
elseif curTreeLevel <= 0 then
|
|
str1 = "未解锁"
|
|
str2 = "解 锁"
|
|
end
|
|
self.treeLevel.text = str1
|
|
self.upGrade.text = str2
|
|
|
|
local needId = treeLevelConfig[curTreeLevel].LvupCost[1]
|
|
local needCost = treeLevelConfig[curTreeLevel].LvupCost[2]
|
|
if curTreeLevel < length then
|
|
self.needIcon.sprite = Util.LoadSprite(artConfig[itemConfig[treeLevelConfig[curTreeLevel].LvupCost[1]].ResourceID].Name)
|
|
self.needNum.text = treeLevelConfig[curTreeLevel].LvupCost[2]
|
|
if BagManager.GetTotalItemNum(needId) < needCost then
|
|
self.needNum.text = "<color=red>"..treeLevelConfig[curTreeLevel].LvupCost[2].."</color>"
|
|
end
|
|
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 |