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