require("Base/BasePanel") local GuildMemberInfoPopup = Inherit(BasePanel) local this = GuildMemberInfoPopup local XiuXianSkillConfig = ConfigManager.GetConfig(ConfigName.XiuXianSkillConfig) local _GuildPosBtnType = { [GUILD_MEM_POPUP_TYPE.INFORMATION] = { [GUILD_GRANT.MASTER] = { [GUILD_GRANT.ADMIN] = { {name = Language[10924], func = 1}, {name = Language[10925], func = 6}, {name = Language[10926], func = 3}, }, [GUILD_GRANT.MEMBER] = { {name = Language[10924], func = 1}, {name = Language[10927], func = 2}, {name = Language[10926], func = 3}, }, }, [GUILD_GRANT.ADMIN] = { [GUILD_GRANT.MEMBER] = { {name = Language[10926], func = 3}, } }, }, [GUILD_MEM_POPUP_TYPE.DEFEND] = { [GUILD_GRANT.MASTER] = { {name = Language[10928], func = 4, param = GUILD_BUILD_TYPE.HOUSE }, {name = Language[10929], func = 4, param = GUILD_BUILD_TYPE.STORE }, {name = Language[10930], func = 4, param = GUILD_BUILD_TYPE.LOGO }, }, [GUILD_GRANT.ADMIN] = { {name = Language[10928], func = 4, param = GUILD_BUILD_TYPE.HOUSE }, {name = Language[10929], func = 4, param = GUILD_BUILD_TYPE.STORE }, {name = Language[10930], func = 4, param = GUILD_BUILD_TYPE.LOGO }, }, }, [GUILD_MEM_POPUP_TYPE.ATTACK_ENEMY_DEFEND] = { [GUILD_GRANT.MASTER] = { {name = Language[10724], func = 5}, }, [GUILD_GRANT.ADMIN] = { {name = Language[10724], func = 5}, }, [GUILD_GRANT.MEMBER] = { {name = Language[10724], func = 5}, }, } } -- 头像 local _PlayerHead = nil -- 星星 local _StarList = {} local _StarMaxNum = 10 this.Pokemons = {} --初始化组件(用于子类重写) function GuildMemberInfoPopup:InitComponent() this.spLoader = SpriteLoader.New() this.btnBack = Util.GetGameObject(self.transform, "btnClose") this.memHead = Util.GetGameObject(self.transform, "tipImage/panel/info/head") this.memName = Util.GetGameObject(self.transform, "tipImage/panel/info/name"):GetComponent("Text") this.memProfess = Util.GetGameObject(self.transform, "tipImage/panel/info/profess"):GetComponent("Text") this.addFriendBtn = Util.GetGameObject(self.transform, "tipImage/panel/info/btnAdd") this.addFriendBtnText = Util.GetGameObject(this.addFriendBtn, "text"):GetComponent("Text") this.starBox = Util.GetGameObject(self.transform, "tipImage/panel/info/starBox") this.star = Util.GetGameObject(self.transform, "tipImage/panel/info/starBox/star") this.titlePar = Util.GetGameObject(self.transform, "tipImage/panel/info/titlePar") this.memPower = Util.GetGameObject(self.transform, "tipImage/panel/defendbox/power"):GetComponent("Text") this.formationTip = Util.GetGameObject(self.transform, "tipImage/panel/defendbox/tip"):GetComponent("Text") this.attackCount = Util.GetGameObject(self.transform, "tipImage/attackCount"):GetComponent("Text") this.demonsHeroList=Util.GetGameObject(self.gameObject, "tipImage/panel/defendbox/demons") this.diffDemonsHeroList=Util.GetGameObject(self.gameObject, "tipImage/panel/defendbox/diffdemons") -- this.DiffDemons = {} -- for i = 1, 3 do -- table.insert(this.DiffDemons, Util.GetGameObject(self.gameObject, "tipImage/panel/defendbox/diffdemons/icon_"..i)) -- end this.Demons = {} for i = 1, 6 do this.Demons[i] = {} this.Demons[i].go = Util.GetGameObject(self.gameObject, "tipImage/panel/defendbox/Demons/heroPro (" .. i .. ")") this.Demons[i].frame = Util.GetGameObject(this.Demons[i].go, "frame"):GetComponent("Image") this.Demons[i].hero = Util.GetGameObject(this.Demons[i].go, "hero") this.Demons[i].starGrid = Util.GetGameObject(this.Demons[i].hero, "starGrid") this.Demons[i].proIcon = Util.GetGameObject(this.Demons[i].hero, "proIcon"):GetComponent("Image") this.Demons[i].levelText = Util.GetGameObject(this.Demons[i].hero, "lvbg/levelText"):GetComponent("Text") this.Demons[i].icon = Util.GetGameObject(this.Demons[i].hero, "icon"):GetComponent("Image") end this.Pokemons={} for i = 1, 6 do table.insert(this.Demons, Util.GetGameObject(self.gameObject, "tipImage/panel/Pokemons/Demons/heroPro (" .. i .. ")")) end Util.GetGameObject(self.transform, "tipImage/panel/pokemonInfo/tip"):GetComponent("Text").text=Language[11501] this.Pokemons = {} for i = 1, 6 do table.insert(this.Pokemons, Util.GetGameObject(self.gameObject, "tipImage/panel/pokemonInfo/Demons/heroPro (" .. i .. ")")) end this.pokemonObj=Util.GetGameObject(self.transform, "tipImage/panel/pokemonInfo").gameObject this.boxLine = Util.GetGameObject(self.transform, "tipImage/panel/defendbox/line") this.btnBox = Util.GetGameObject(self.transform, "tipImage/panel/box") -- this.bgImg= Util.GetGameObject(self.transform, "tipImage/tipImage"):GetComponent("RectTransform") this.btnList = {} this.btnList[1] = Util.GetGameObject(this.btnBox, "btn1") this.btnList[2] = Util.GetGameObject(this.btnBox, "btn2") this.btnList[3] = Util.GetGameObject(this.btnBox, "btn3") --神印信息 this.imprintObj = Util.GetGameObject(self.transform, "tipImage/panel/imprintInfo") this.imprintGrid = Util.GetGameObject(this.imprintObj, "Imprints") this.imprintPre = Util.GetGameObject(self.transform, "imprintPre") this.imprintItemList = {} end --绑定事件(用于子类重写) function GuildMemberInfoPopup:BindEvent() Util.AddClick(this.btnBack, function() PlaySoundWithoutClick(SoundConfig.Sound_UICancel) this:ClosePanel() end) Util.AddClick(this.addFriendBtn, function() if this._ViewType ~= GUILD_MEM_POPUP_TYPE.INFORMATION then Log("公会战阶段屏蔽添加好友功能") return end if not ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.GOODFRIEND) then PopupTipPanel.ShowTip(ActTimeCtrlManager.GetFuncTip(FUNCTION_OPEN_TYPE.GOODFRIEND)) return end if GoodFriendManager.IsInBlackList(this._MemId) then PopupTipPanel.ShowTip(Language[10814]) return end if this._MemId == PlayerManager.uid then PopupTipPanel.ShowTip(Language[10931]) return end if GoodFriendManager.IsMyFriend(this._MemId) then PopupTipPanel.ShowTip(Language[10932]) return end if this._PlayerData.isApplyed == 1 then PopupTipPanel.ShowTip(Language[10819]) return end GoodFriendManager.InviteFriendRequest(this._MemId, function() PopupTipPanel.ShowTip(Language[10381]) this._PlayerData.isApplyed = 1 this.RefreshFunction() end) end) end --添加事件监听(用于子类重写) function GuildMemberInfoPopup:AddListener() Game.GlobalEvent:AddEvent(GameEvent.Guild.BeKickOut, this.CloseSelf) end --移除事件监听(用于子类重写) function GuildMemberInfoPopup:RemoveListener() Game.GlobalEvent:RemoveEvent(GameEvent.Guild.BeKickOut, this.CloseSelf) end -- 关闭界面 function this.CloseSelf() this:ClosePanel() end --界面打开时调用(用于子类重写) function GuildMemberInfoPopup:OnOpen(type, memId, starNum) this._MemId = memId this._ViewType = type or GUILD_MEM_POPUP_TYPE.INFORMATION this._StarNum = starNum this.formationTip.text = type == GUILD_MEM_POPUP_TYPE.INFORMATION and Language[10933] or Language[10934] -- 注册按钮事件 this.btnFunc = { [1] = this.SetMaster, [2] = this.SetAdmin, [3] = this.KickOut, [4] = this.ChangeMemBuildType, [5] = this.AttackEnemy, [6] = this.CancelAdmin, } end --界面打开或者重新打开后,界面刷新时调用(用于子类重写) function GuildMemberInfoPopup:OnShow() if this._ViewType == GUILD_MEM_POPUP_TYPE.ATTACK_MY_DEFEND then this._MemData = GuildFightManager.GetAttackStagePlayerDefendData(GUILD_FIGHT_GUILD_TYPE.MY, this._MemId).userInfo elseif this._ViewType == GUILD_MEM_POPUP_TYPE.ATTACK_ENEMY_DEFEND then this._MemData = GuildFightManager.GetAttackStagePlayerDefendData(GUILD_FIGHT_GUILD_TYPE.ENEMY, this._MemId).userInfo else this._MemData = MyGuildManager.GetMemInfo(this._MemId) end -- 刷新基础信息 this.RefreshPlayerInfo() -- 刷新进攻次数显示 this.RefreshAttackCount() -- 刷新功能区显示 this.RefreshFunction() -- 刷新编队显示 this.RefreshFormationShow() -- 刷新按钮显示 this.RefreshBtnShow() end -- 刷新基础信息显示 local titleLiveStr local titleLive function this.RefreshPlayerInfo() this.memName.text = this._MemData.userName this.memProfess.text = Language[10935]..GUILD_GRANT_STR[this._MemData.position] -- 头像 if not _PlayerHead then _PlayerHead = SubUIManager.Open(SubUIConfig.PlayerHeadView, this.memHead.transform) end if titleLive then poolManager:UnLoadAsset(titleLiveStr, titleLive, PoolManager.AssetType.GameObject) titleLive = nil titleLiveStr = nil end _PlayerHead:Reset() _PlayerHead:SetScale(Vector3.one * 0.85) _PlayerHead:SetHead(this._MemData.head) _PlayerHead:SetFrame(this._MemData.frame) _PlayerHead:SetLevel(this._MemData.userLevel) _PlayerHead:SetLayer(this.sortingOrder) _PlayerHead:SetEffectScale(0.9) local title=this._MemData.userTitle if title and title>0 then this.titlePar:SetActive(true) local curPlayerRole = ConfigManager.GetConfigData(ConfigName.PlayerRole,title) local curArtResourcesConfig = ConfigManager.GetConfigData(ConfigName.ArtResourcesConfig,curPlayerRole.LiveAnimName) titleLiveStr = curArtResourcesConfig.Name titleLive = poolManager:LoadAsset(titleLiveStr, PoolManager.AssetType.GameObject) titleLive.transform:SetParent(this.titlePar.transform) titleLive.transform.localPosition = Vector3.New(0,0,0) titleLive.transform.localScale = Vector3.New(0.5,0.5,0.5) local sortingorder=0 if this.sortingOrder then Util.AddParticleSortLayer(titleLive,this.sortingOrder - sortingorder) sortingorder = this.sortingOrder end else this.titlePar:SetActive(false) end end function this:OnSortingOrderChange() if _PlayerHead then _PlayerHead:SetLayer(self.sortingOrder) end for i, demon in ipairs(this.Demons) do Util.SetParticleSortLayer(demon.starGrid,self.sortingOrder + 1) end end -- 刷新进攻次数显示 function this.RefreshAttackCount() this.attackCount.gameObject:SetActive(false) if this._ViewType == GUILD_MEM_POPUP_TYPE.ATTACK_ENEMY_DEFEND then this.attackCount.gameObject:SetActive(true) local leftCount = GuildFightManager.GetLeftAttackCount() this.attackCount.text = string.format(Language[10936], leftCount) end end -- 刷新功能区 function this.RefreshFunction() this.addFriendBtn:SetActive(false) this.starBox:SetActive(false) if this._ViewType == GUILD_MEM_POPUP_TYPE.INFORMATION then this.addFriendBtn:SetActive(true) if not this._PlayerData then return end local isSelf = this._MemId == PlayerManager.uid local isMyFriend = isSelf and true or GoodFriendManager.IsMyFriend(this._MemId) local isApplyed = this._PlayerData.isApplyed == 1 Util.SetGray(this.addFriendBtn, isMyFriend or isApplyed) this.addFriendBtnText.text = isApplyed and Language[10816] or Language[10937] elseif this._ViewType == GUILD_MEM_POPUP_TYPE.DEFEND or this._ViewType == GUILD_MEM_POPUP_TYPE.ATTACK_ENEMY_DEFEND or this._ViewType == GUILD_MEM_POPUP_TYPE.ATTACK_MY_DEFEND then if not this._StarNum then return end this.starBox:SetActive(true) local maxNum = math.max(this._StarNum, #_StarList) for i = 1, maxNum do if not _StarList[i] then _StarList[i] = newObjToParent(this.star, this.starBox) end _StarList[i]:SetActive(i <= this._StarNum) end end end -- 刷新编队信息 function this.RefreshFormationShow() if this._ViewType == GUILD_MEM_POPUP_TYPE.INFORMATION then NetManager.RequestPlayerInfo(this._MemId, FormationTypeDef.FORMATION_NORMAL, nil,0,function(msg) -- 重置战斗力 local teamInfo = msg.teamInfo.team local force = teamInfo.totalForce MyGuildManager.ResetMemForce(this._MemId, force) this.FormationAdapter(teamInfo) -- 刷新功能显示 this._PlayerData = msg.teamInfo this.RefreshFunction() end) elseif this._ViewType == GUILD_MEM_POPUP_TYPE.DEFEND then NetManager.RequestGuildFightDefendFormation(PlayerManager.familyId, this._MemId,function(msg) -- 重置战斗力 GuildFightManager.ResetDefendStageDataForce(this._MemId, msg.teamInfo.totalForce) -- this.FormationAdapter(msg.teamInfo) end) elseif this._ViewType == GUILD_MEM_POPUP_TYPE.ATTACK_MY_DEFEND then NetManager.RequestGuildFightDefendFormation(PlayerManager.familyId, this._MemId, function(msg) this.FormationAdapter(msg.teamInfo) end) elseif this._ViewType == GUILD_MEM_POPUP_TYPE.ATTACK_ENEMY_DEFEND then local enemyGuild = GuildFightManager.GetEnemyBaseData() if not enemyGuild then return end NetManager.RequestGuildFightDefendFormation(enemyGuild.id, this._MemId, function(msg) this.FormationAdapter(msg.teamInfo) end) end end -- 编队数据匹配 function this.FormationAdapter(teamInfo) -- 战斗力 this.memPower.text = teamInfo.totalForce for i, demon in ipairs(this.Demons) do demon.frame.sprite = this.spLoader:LoadSprite(GetQuantityImageByquality(1)) demon.hero:SetActive(false) end --队伍阵容 for i, hero in ipairs(teamInfo.team) do local demonId = teamInfo.team[i].heroTid if demonId then this.Demons[hero.position].hero:SetActive(true) local star,starType = GetStarOrGodSoulLv(1,hero) SetHeroStars(this.spLoader, this.Demons[hero.position].starGrid, star,starType) SetHeroFlyEffect(this.Demons[hero.position].hero,this.spLoader,hero.star,this.sortingOrder+1,1,2) Util.SetParticleSortLayer(this.Demons[hero.position].starGrid,this.sortingOrder + 1) local heroConfig = ConfigManager.GetConfigData(ConfigName.HeroConfig, demonId) this.Demons[hero.position].proIcon.sprite = this.spLoader:LoadSprite(GetProStrImageByProNum(heroConfig.PropertyName)) this.Demons[hero.position].levelText.text = hero.level this.Demons[hero.position].frame.sprite = this.spLoader:LoadSprite(GetQuantityImageByquality(heroConfig.Quality, hero.star)) -- if hero.skinId == 0 then -- this.Demons[hero.position].heroicon:GetComponent("Image.sprite = this.spLoader:LoadSprite(GetResourcePath(heroConfig.Icon)) -- else -- local config = ConfigManager.GetConfigDataByKey(ConfigName.HeroSkin,"Type",hero.skinId) -- this.Demons[hero.position].heroicon:GetComponent("Image.sprite = this.spLoader:LoadSprite(GetResourcePath(config.Icon)) -- end SetHeroIcon(this.spLoader, hero,this.Demons[hero.position].icon,heroConfig) local heroData = {} Util.AddOnceClick( this.Demons[hero.position].frame.gameObject, function() NetManager.ViewHeroInfoRequest(this._MemId,hero.heroid,nil,FormationTypeDef.FORMATION_NORMAL,function(msg) if not hero.heroid then return end heroData= GoodFriendManager.GetHeroDatas(msg.hero,msg.force,msg.SpecialEffects,msg.guildSkill) GoodFriendManager.InitEquipData(msg.equip,heroData)--HeroManager.GetSingleHeroData(heroData.dynamicId) UIManager.OpenPanel(UIName.RoleInfoPopup, heroData,true) end) end) end end local len=#teamInfo.PokemonInfos LogError("长度:"..len) if len>0 then -- this.bgImg.sizeDelta=Vector2.New(900,1024) this.pokemonObj:SetActive(true) for i, demon in ipairs(this.Pokemons) do demon.gameObject:SetActive(false) Util.GetGameObject(demon, "frame"):GetComponent("Image").sprite = this.spLoader:LoadSprite(GetQuantityImageByquality(1)) Util.GetGameObject(demon, "hero"):SetActive(false) end else -- this.bgImg.sizeDelta=Vector2.New(900,850) this.pokemonObj:SetActive(false) end --队伍灵兽 for i, hero in ipairs(teamInfo.PokemonInfos) do local demonId = teamInfo.PokemonInfos[i].heroTid this.Pokemons[i].gameObject:SetActive(true) if demonId then local heroGo = Util.GetGameObject(this.Pokemons[i], "hero") heroGo:SetActive(true) SetHeroStars(this.spLoader, Util.GetGameObject(heroGo, "starGrid"), hero.star) local heroConfig = ConfigManager.GetConfigData(ConfigName.SpiritAnimal, demonId) Util.GetGameObject(heroGo, "lvbg/levelText"):GetComponent("Text").text = hero.level Util.GetGameObject(this.Pokemons[i], "frame"):GetComponent("Image").sprite = this.spLoader:LoadSprite(GetQuantityImageByquality(heroConfig.Quality)) Util.GetGameObject(heroGo, "icon"):GetComponent("Image").sprite = this.spLoader:LoadSprite(GetResourcePath(heroConfig.Icon)) local frameBtn = Util.GetGameObject(this.Pokemons[i], "frame") local heroData = {} Util.AddOnceClick(frameBtn, function() local pokemonData={tempId=demonId,id=demonId,star=hero.star,level=hero.level} UIManager.OpenPanel(UIName.PokemonGetInfoPopup,true,pokemonData) end) end end --神印信息 if teamInfo.sealShow and #teamInfo.sealShow > 0 then this.imprintObj:SetActive(true) if not this.imprintItemList then this.imprintItemList = {} end for i = 1, #this.imprintItemList do this.imprintItemList[i].gameObject:SetActive(false) end for i = 1, #teamInfo.sealShow do local item = this.imprintItemList[i] local value = teamInfo.sealShow[i] if not item then item = newObject(this.imprintPre) item.name = "imprintPre_"..i item.transform:SetParent(this.imprintGrid.transform) item.transform.localScale = Vector3.one item.transform.localPosition = Vector3.zero this.imprintItemList[i] = item end item.gameObject:SetActive(true) local icon = Util.GetGameObject(item,"icon"):GetComponent("Image") -- local hero = Util.GetGameObject(item,"hero"):GetComponent("Image") icon.sprite = this.spLoader:LoadSprite(GetResourcePath(XiuXianSkillConfig[value.id].Icon)) -- if value.type == 1 then -- hero.gameObject:SetActive(true) -- hero.sprite = this.spLoader:LoadSprite(GetSpriteNameByItemId(value.heroTId)) -- else -- hero.gameObject:SetActive(false) -- end Util.AddOnceClick(item.gameObject,function () UIManager.OpenPanel(UIName.GeneralInfoPopup,GENERALINFO_TYPE.Imprint,value.id,value.heroTId) end) end else this.imprintObj:SetActive(false) end end -- 刷新按钮显示 function this.RefreshBtnShow() -- 判断该界面类型是否有按钮显示 local posToType = _GuildPosBtnType[this._ViewType] if not posToType then this.boxLine:SetActive(false) this.btnBox:SetActive(false) return end -- 判断我的职位是否有按钮显示 local pos = MyGuildManager.GetMyPositionInGuild() local btnType = posToType[pos] if btnType and (not btnType[1] or not btnType[1].name) then -- 判断类型 btnType = btnType[this._MemData.position] end if not btnType then this.boxLine:SetActive(false) this.btnBox:SetActive(false) return end -- 有按钮显示 this.boxLine:SetActive(true) this.btnBox:SetActive(true) for index, btn in ipairs(this.btnList) do btn:SetActive(btnType[index] ~= nil) if btnType[index] then Util.GetGameObject(btn, "Text"):GetComponent("Text").text = btnType[index].name Util.AddOnceClick(btn, function() local funcType = btnType[index].func if not this.btnFunc[funcType] then Log("方法不存在") return end this.btnFunc[funcType](btnType[index].param) end) end end end ----=============================== 按钮事件================================== -- 转让会长 function this.SetMaster() -- 公会战期间无法执行此操作 if GuildFightManager.IsInGuildFight() then PopupTipPanel.ShowTip(Language[10893]) return end -- 判断是否有权限 local pos = MyGuildManager.GetMyPositionInGuild() if pos ~= GUILD_GRANT.MASTER then PopupTipPanel.ShowTip(Language[10938]) return end if this._MemId == PlayerManager.uid then PopupTipPanel.ShowTip(Language[10939]) return end if this._MemData.position == GUILD_GRANT.MASTER then PopupTipPanel.ShowTip(Language[10940]) return end MsgPanel.ShowTwo(Language[10941], nil, function() -- 转让会长 MyGuildManager.AppointmentPos(this._MemId, GUILD_GRANT.MASTER, function () this:ClosePanel() PopupTipPanel.ShowTip(Language[10942]) end) end) end -- 委任管理员 function this.SetAdmin() -- 公会战期间无法执行此操作 if GuildFightManager.IsInGuildFight() then PopupTipPanel.ShowTip(Language[10893]) return end -- 判断是否有权限 local pos = MyGuildManager.GetMyPositionInGuild() if pos ~= GUILD_GRANT.MASTER then PopupTipPanel.ShowTip(Language[10943]) return end if this._MemId == PlayerManager.uid then PopupTipPanel.ShowTip(Language[10939]) return end if this._MemData.position == GUILD_GRANT.MASTER then PopupTipPanel.ShowTip(Language[10944]) return end if this._MemData.position == GUILD_GRANT.ADMIN then PopupTipPanel.ShowTip(Language[10945]) return end local adminNum = MyGuildManager.GetAdminMemNum() local guildData = MyGuildManager.GetMyGuildInfo() local maxNum = ConfigManager.GetConfigData(ConfigName.GuildLevelConfig, guildData.levle).OfficalNum if adminNum >= maxNum then PopupTipPanel.ShowTip(Language[10946]) return end MsgPanel.ShowTwo(Language[10947], nil, function() -- 委任管理员 MyGuildManager.AppointmentPos(this._MemId, GUILD_GRANT.ADMIN, function () this:ClosePanel() PopupTipPanel.ShowTip(Language[10948]) end) end) end -- 取消管理员 function this.CancelAdmin() -- 公会战期间无法执行此操作 if GuildFightManager.IsInGuildFight() then PopupTipPanel.ShowTip(Language[10893]) return end -- 判断是否有权限 local pos = MyGuildManager.GetMyPositionInGuild() if pos ~= GUILD_GRANT.MASTER then PopupTipPanel.ShowTip(Language[10949]) return end if this._MemId == PlayerManager.uid then PopupTipPanel.ShowTip(Language[10939]) return end if this._MemData.position == GUILD_GRANT.MASTER then PopupTipPanel.ShowTip(Language[10950]) return end if this._MemData.position ~= GUILD_GRANT.ADMIN then PopupTipPanel.ShowTip(Language[10951]) return end MsgPanel.ShowTwo(Language[10952], nil, function() -- 委任管理员 MyGuildManager.AppointmentPos(this._MemId, GUILD_GRANT.MEMBER, function () this:ClosePanel() PopupTipPanel.ShowTip(Language[10953]) end) end) end -- 驱逐公会 function this.KickOut() -- 公会战期间无法执行此操作 if GuildFightManager.IsInGuildFight() then PopupTipPanel.ShowTip(Language[10893]) return end -- 判断是否有权限 local pos = MyGuildManager.GetMyPositionInGuild() if pos ~= GUILD_GRANT.MASTER and pos ~= GUILD_GRANT.ADMIN then PopupTipPanel.ShowTip(Language[10954]) return end if this._MemId == PlayerManager.uid then PopupTipPanel.ShowTip(Language[10939]) return end if this._MemData.position == GUILD_GRANT.MASTER then PopupTipPanel.ShowTip(Language[10955]) return end if pos == GUILD_GRANT.ADMIN and this._MemData.position == GUILD_GRANT.ADMIN then PopupTipPanel.ShowTip(Language[10956]) return end MsgPanel.ShowTwo(Language[10957], nil, function() MyGuildManager.RequestKickOut(this._MemId, function() this:ClosePanel() PopupTipPanel.ShowTip(Language[10958]) end) end) end -- 改变成员防守建筑 function this.ChangeMemBuildType(buildType) -- 判断是否有权限 local pos = MyGuildManager.GetMyPositionInGuild() if pos ~= GUILD_GRANT.MASTER and pos ~= GUILD_GRANT.ADMIN then PopupTipPanel.ShowTip(Language[10902]) return end GuildFightManager.RequestChangeMemDefend(this._MemId, buildType, function () this:ClosePanel() end) end -- 改变成员防守建筑 function this.AttackEnemy() local leftCount = GuildFightManager.GetLeftAttackCount() if not leftCount or leftCount <= 0 then PopupTipPanel.ShowTip(Language[10723]) return end -- 获取我的英雄的数据 GuildFightManager.RequestMyHeroBloodData(function() this:ClosePanel() FormationManager.CheckFormationHp(FormationTypeDef.FORMATION_GUILD_FIGHT_ATTACK) UIManager.OpenPanel(UIName.FormationPanel, FORMATION_TYPE.GUILD_ATTACK, this._MemId) end) end --界面关闭时调用(用于子类重写) function GuildMemberInfoPopup:OnClose() end --界面销毁时调用(用于子类重写) function GuildMemberInfoPopup:OnDestroy() this.spLoader:Destroy() -- 头像 if _PlayerHead then _PlayerHead:Recycle() _PlayerHead = nil end -- 星星 _StarList = {} titleLive = nil titleLiveStr = nil this.imprintItemList = {} end return GuildMemberInfoPopup