require("Base/BasePanel") local GuildCreatePopup = Inherit(BasePanel) local this = GuildCreatePopup --初始化组件(用于子类重写) function GuildCreatePopup:InitComponent() this.spLoader = SpriteLoader.New() this.btnBack = Util.GetGameObject(self.transform, "tipImage/btnClose") this.btnCreate = Util.GetGameObject(self.transform, "tipImage/btnCreate") this.inputName = Util.GetGameObject(self.transform, "tipImage/name"):GetComponent("InputField") this.inputAnnounce = Util.GetGameObject(self.transform, "tipImage/content"):GetComponent("InputField") this.costTip = Util.GetGameObject(self.transform, "tipImage/costTips"):GetComponent("Text") this.text1 = Util.GetGameObject(self.transform, "tipImage/name/Text"):GetComponent("Text") this.text2 = Util.GetGameObject(self.transform, "tipImage/content/Text"):GetComponent("Text") end --绑定事件(用于子类重写) function GuildCreatePopup:BindEvent() Util.AddClick(this.btnBack, function() PlaySoundWithoutClick(SoundConfig.Sound_UICancel) this:ClosePanel() end) -- 搜索 Util.AddClick(this.btnCreate, function() local name = this.inputName.text local announce = this.inputAnnounce.text if name == "" then PopupTipPanel.ShowTip(Language[10843]) return end local config = ConfigManager.GetConfigData(ConfigName.GuildSetting, 1) local minLen, maxLen = config.NameSize[1], config.NameSize[2] local len = StringWidth(name) if len < minLen or len > maxLen then PopupTipPanel.ShowTip(Language[10844]) return end local cost = ConfigManager.GetConfigData(ConfigName.GuildSetting, 1).CreatCost CostConfirmPopup.Show(cost[1][1], cost[1][2], Language[10845], nil, function() local haveNum = BagManager.GetItemCountById(cost[1][1]) if haveNum < cost[1][2] then PopupTipPanel.ShowTip(Language[10846]) return end GuildManager.RequestCreateGuild(name, announce, function() this:ClosePanel() NetManager.RequestRedPacketData() if this.successFunc then this.successFunc() end UIManager.OpenPanel(UIName.GuildMainCityPanel) PopupTipPanel.ShowTip(Language[10847]) end) end) end) end --添加事件监听(用于子类重写) function GuildCreatePopup:AddListener() end --移除事件监听(用于子类重写) function GuildCreatePopup:RemoveListener() end --界面打开时调用(用于子类重写) function GuildCreatePopup:OnOpen(successFunc) local defaultAnnounce = GetLanguageStrById(ConfigManager.GetConfigData(ConfigName.GuildSetting, 1).DefaultDeclaration) this.inputName.text = "" this.inputAnnounce.text = defaultAnnounce this.successFunc = successFunc -- 创建消耗 local cost = ConfigManager.GetConfigData(ConfigName.GuildSetting, 1).CreatCost local costName = GetLanguageStrById(ConfigManager.GetConfigData(ConfigName.ItemConfig, cost[1][1]).Name) this.costTip.text = string.format(Language[10848], cost[1][2], costName) this.text1.fontSize = GetCurLanguage() ~= 2 and 48 or 40 this.text2.fontSize = GetCurLanguage() ~= 2 and 48 or 40 end --界面打开或者重新打开后,界面刷新时调用(用于子类重写) function GuildCreatePopup:OnShow() end --界面关闭时调用(用于子类重写) function GuildCreatePopup:OnClose() end --界面销毁时调用(用于子类重写) function GuildCreatePopup:OnDestroy() this.spLoader:Destroy() end return GuildCreatePopup