974 lines
		
	
	
		
			39 KiB
		
	
	
	
		
			Lua
		
	
			
		
		
	
	
			974 lines
		
	
	
		
			39 KiB
		
	
	
	
		
			Lua
		
	
require("Base/BasePanel")
 | 
						||
local PlayerInfoPopup = Inherit(BasePanel)
 | 
						||
local this = PlayerInfoPopup
 | 
						||
local netserverName = nil
 | 
						||
local XiuXianSkillConfig = ConfigManager.GetConfig(ConfigName.XiuXianSkillConfig)
 | 
						||
local GemConfig = ConfigManager.GetConfig(ConfigName.GemConfig)
 | 
						||
local ItemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig)
 | 
						||
local ChangingCard = ConfigManager.GetConfig(ConfigName.ChangingCard)
 | 
						||
local isNpc = false--是否是机器人
 | 
						||
local _ViewConfig = {
 | 
						||
    [PLAYER_INFO_VIEW_TYPE.NORMAL] = {
 | 
						||
        formationType = FormationTypeDef.FORMATION_NORMAL,
 | 
						||
        tip = Language[10933],
 | 
						||
        isAddFriend = true,
 | 
						||
        btnType = {
 | 
						||
            --{name = "举 报", func = 1},
 | 
						||
            {name = Language[11496], func = 2},
 | 
						||
            {name = Language[11497], func = 3},
 | 
						||
        }
 | 
						||
    },
 | 
						||
    [PLAYER_INFO_VIEW_TYPE.BLACK_REMOVE] = {
 | 
						||
        formationType = FormationTypeDef.FORMATION_NORMAL,
 | 
						||
        tip = Language[10933],
 | 
						||
        isAddFriend = true,
 | 
						||
        btnType = {
 | 
						||
            {name = Language[11498], func = 4},
 | 
						||
        }
 | 
						||
    },
 | 
						||
    [PLAYER_INFO_VIEW_TYPE.GO_TO_BLACK] = {
 | 
						||
        formationType = FormationTypeDef.FORMATION_NORMAL,
 | 
						||
        tip = Language[10933],
 | 
						||
        isAddFriend = true,
 | 
						||
        btnType = {
 | 
						||
            {name = Language[11499], func = 5},
 | 
						||
        }
 | 
						||
    },
 | 
						||
    [PLAYER_INFO_VIEW_TYPE.ARENA] = {
 | 
						||
        formationType = FormationTypeDef.FORMATION_ARENA_DEFEND,
 | 
						||
        tip = Language[11500],
 | 
						||
        isAddFriend = true,
 | 
						||
    },
 | 
						||
    [PLAYER_INFO_VIEW_TYPE.TOP_MATCH] = {
 | 
						||
        formationType = FormationTypeDef.ARENA_TOM_MATCH,
 | 
						||
        tip = "巅峰赛阵容",
 | 
						||
        isAddFriend = false,
 | 
						||
    },
 | 
						||
    [PLAYER_INFO_VIEW_TYPE.MIND_DEMON] = {
 | 
						||
        formationType = FormationTypeDef.MONSTER_CAMP_ATTACK,
 | 
						||
        tip = Language[12306],
 | 
						||
        isAddFriend = true,
 | 
						||
        btnType = {}
 | 
						||
    },
 | 
						||
    [PLAYER_INFO_VIEW_TYPE.TSLX] = {
 | 
						||
        formationType = FormationTypeDef.FORMATION_TSLX,
 | 
						||
        tip = "挑战阵容",
 | 
						||
        isAddFriend = true,
 | 
						||
        btnType = {}
 | 
						||
    },
 | 
						||
    [PLAYER_INFO_VIEW_TYPE.JUPMSERVER] = {
 | 
						||
        formationType = FormationTypeDef.JUMPSERVER_HIGHTLADDER,
 | 
						||
        tip = "罗浮争锋阵容:",
 | 
						||
        isAddFriend = false,
 | 
						||
        btnType = {
 | 
						||
            -- {name = "挑战", func = 6},
 | 
						||
            {name = "切磋", func = 6},
 | 
						||
        }
 | 
						||
    },
 | 
						||
    [PLAYER_INFO_VIEW_TYPE.JUPMSERVER_NORMAL] = {
 | 
						||
        formationType = FormationTypeDef.FORMATION_NORMAL,
 | 
						||
        tip = Language[10933],
 | 
						||
        isAddFriend = false,
 | 
						||
        btnType = {
 | 
						||
            {name = "切磋", func = 7},
 | 
						||
        }
 | 
						||
    },
 | 
						||
    [PLAYER_INFO_VIEW_TYPE.QIJIESHILIAN] = {
 | 
						||
        formationType = FormationTypeDef.FORMATION_QIJIESHILIAN,
 | 
						||
        tip = "七界试炼阵容:",
 | 
						||
        isAddFriend = false,
 | 
						||
        btnType = {
 | 
						||
            -- {name = "切磋", func = 7},
 | 
						||
        }
 | 
						||
    },
 | 
						||
    [PLAYER_INFO_VIEW_TYPE.LINGMAIMIJING] = {
 | 
						||
        formationType = FormationTypeDef.FORMATION_LINGMAIMIJING,
 | 
						||
        tip = "灵脉秘境阵容:",
 | 
						||
        isAddFriend = false,
 | 
						||
        btnType = {
 | 
						||
            {name = "切磋", func = 9},
 | 
						||
            {name = "挑战", func = 8},
 | 
						||
            {name = "调整编队", func = 8},
 | 
						||
        }
 | 
						||
    },
 | 
						||
}
 | 
						||
 | 
						||
local InfoBtns = {
 | 
						||
    [1] = {
 | 
						||
        name = "紫府神印",
 | 
						||
        gridName = "imprintInfo",
 | 
						||
        func = function (data,obj)
 | 
						||
            this.imprintInfoShow(data,obj)
 | 
						||
        end
 | 
						||
        },
 | 
						||
    [2] = {
 | 
						||
        name = "身外化身",
 | 
						||
        gridName = "huashenInfo",
 | 
						||
        func = function (data,obj)
 | 
						||
            this.huashenInfoShow(data,obj)
 | 
						||
        end
 | 
						||
        },
 | 
						||
    [3] = {
 | 
						||
        name = "四象心法",
 | 
						||
        gridName = "fourElementInfo",
 | 
						||
        func = function (data,obj)
 | 
						||
            this.fourElementInfoShow(data,obj)
 | 
						||
        end
 | 
						||
        },
 | 
						||
    [4] = {
 | 
						||
        name = "命  格",
 | 
						||
        gridName = "GemInfo",
 | 
						||
        func = function (data,obj)
 | 
						||
            this.GemInfoShow(data,obj)
 | 
						||
        end
 | 
						||
        },
 | 
						||
    [5] = {
 | 
						||
        name = "坐  骑",
 | 
						||
        gridName = "RideInfo",
 | 
						||
        func = function (data,obj)
 | 
						||
            this.RideInfoShow(data,obj)
 | 
						||
        end
 | 
						||
        },
 | 
						||
    [6] = {
 | 
						||
        name = "礼  物",
 | 
						||
        gridName = "giftInfo",
 | 
						||
        func = function (data,obj)
 | 
						||
            this.GiftInfoShow(data,obj)
 | 
						||
        end
 | 
						||
        },
 | 
						||
    
 | 
						||
}
 | 
						||
 | 
						||
local curPlayerName = ""
 | 
						||
local _PlayerHead = nil
 | 
						||
--初始化组件(用于子类重写)
 | 
						||
function PlayerInfoPopup:InitComponent()
 | 
						||
    this.spLoader = SpriteLoader.New()
 | 
						||
    this.extraInfo = require("Modules/Popup/PlayerInfoPopup_extra")
 | 
						||
    this.btnBack = Util.GetGameObject(self.transform, "btnClose")
 | 
						||
    this.BgMask = Util.GetGameObject(self.transform, "BgMask")
 | 
						||
 | 
						||
    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/Image/tip"):GetComponent("Text")
 | 
						||
 | 
						||
    this.demonsHeroList=Util.GetGameObject(self.gameObject, "tipImage/panel/defendbox/demons")
 | 
						||
    this.diffDemonsHeroList=Util.GetGameObject(self.gameObject, "tipImage/panel/defendbox/diffdemons")
 | 
						||
    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].frameBtn =Util.GetGameObject(this.Demons[i].go, "frame")
 | 
						||
        this.Demons[i].frame =this.Demons[i].frameBtn: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
 | 
						||
    Util.GetGameObject(self.transform, "tipImage/panel/pokemonInfo/Image/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.Weapons={}
 | 
						||
    for i = 1, 6 do
 | 
						||
        table.insert(this.Weapons, Util.GetGameObject(self.gameObject, "tipImage/panel/weaponInfo/Demons/heroPro (" .. i .. ")"))
 | 
						||
    end
 | 
						||
    this.newGems={}
 | 
						||
    for i=1,16 do
 | 
						||
        table.insert(this.newGems, Util.GetGameObject(self.gameObject, "tipImage/panel/InfoGrids/Bg/GemInfo/Grid/heroPro (" .. i .. ")"))
 | 
						||
    end
 | 
						||
    this.pokemonObj=Util.GetGameObject(self.transform, "tipImage/panel/pokemonInfo").gameObject
 | 
						||
    this.weaponInfo=Util.GetGameObject(self.transform, "tipImage/panel/weaponInfo")
 | 
						||
    this.newGemInfo=Util.GetGameObject(self.transform, "tipImage/panel/newGemInfo")
 | 
						||
    this.newGemInfo:SetActive(false)
 | 
						||
    --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")
 | 
						||
    --所有信息Obj的PreList
 | 
						||
    this.InfoBtns = Util.GetGameObject(self.transform, "tipImage/panel/InfoBtns")
 | 
						||
    this.InfoBtnsGrid = Util.GetGameObject(this.InfoBtns, "Grid")
 | 
						||
    this.InfoContentGrid = Util.GetGameObject(self.transform, "tipImage/panel/InfoGrids")
 | 
						||
    this.InfoContent = Util.GetGameObject(this.InfoContentGrid, "Bg")
 | 
						||
    this.infoBtnPre = Util.GetGameObject(self.transform, "btnPre")--按钮的Pre
 | 
						||
    this.imprintPre = Util.GetGameObject(self.transform, "imprintPre")--神印的Pre
 | 
						||
    this.emptyPre = Util.GetGameObject(self.transform, "emptyPre")--空的Pre
 | 
						||
    this.InfoBtnsList = {}
 | 
						||
    this.ItemPreList = {}
 | 
						||
    this.ItemList = {}
 | 
						||
 | 
						||
end
 | 
						||
 | 
						||
--绑定事件(用于子类重写)
 | 
						||
function PlayerInfoPopup:BindEvent()
 | 
						||
    Util.AddClick(this.btnBack, function()
 | 
						||
        PlaySoundWithoutClick(SoundConfig.Sound_UICancel)
 | 
						||
        this:ClosePanel()
 | 
						||
    end)
 | 
						||
    Util.AddClick(this.BgMask, function()
 | 
						||
        PlaySoundWithoutClick(SoundConfig.Sound_UICancel)
 | 
						||
        this:ClosePanel()
 | 
						||
    end)
 | 
						||
    Util.AddClick(this.addFriendBtn, function()
 | 
						||
        if this.serverName and this.serverName ~= "" then
 | 
						||
            PopupTipPanel.ShowTip("无法跨服添加好友")
 | 
						||
            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._PlayerId) then
 | 
						||
            PopupTipPanel.ShowTip(Language[10814])
 | 
						||
            return
 | 
						||
        end
 | 
						||
        if this._PlayerId == PlayerManager.uid then
 | 
						||
            PopupTipPanel.ShowTip(Language[10931])
 | 
						||
            return
 | 
						||
        end
 | 
						||
        if GoodFriendManager.IsMyFriend(this._PlayerId) then
 | 
						||
            PopupTipPanel.ShowTip(Language[10932])
 | 
						||
            return
 | 
						||
        end
 | 
						||
        if this._PlayerData.isApplyed == 1 then
 | 
						||
            PopupTipPanel.ShowTip(Language[10819])
 | 
						||
            return
 | 
						||
        end
 | 
						||
        GoodFriendManager.InviteFriendRequest(this._PlayerId, function()
 | 
						||
            PopupTipPanel.ShowTip(Language[11502])
 | 
						||
            this._PlayerData.isApplyed = 1
 | 
						||
            this.RefreshFunction()
 | 
						||
        end)
 | 
						||
    end)
 | 
						||
end
 | 
						||
 | 
						||
--添加事件监听(用于子类重写)
 | 
						||
function PlayerInfoPopup:AddListener()
 | 
						||
end
 | 
						||
 | 
						||
--移除事件监听(用于子类重写)
 | 
						||
function PlayerInfoPopup:RemoveListener()
 | 
						||
end
 | 
						||
 | 
						||
--界面打开时调用(用于子类重写)
 | 
						||
function PlayerInfoPopup:OnOpen(playerId, viewType,serverName,_otherdata)
 | 
						||
    this._PlayerId = playerId
 | 
						||
    this._ViewType = viewType or PLAYER_INFO_VIEW_TYPE.NORMAL
 | 
						||
    this.serverName = serverName--跨服加的服务器数据
 | 
						||
    this.data = _otherdata
 | 
						||
    isNpc = this._PlayerId <= 1000000
 | 
						||
    -- 界面类型修正
 | 
						||
    if this._ViewType == PLAYER_INFO_VIEW_TYPE.NORMAL and GoodFriendManager.IsInBlackList(this._PlayerId) then
 | 
						||
        this._ViewType = PLAYER_INFO_VIEW_TYPE.GO_TO_BLACK
 | 
						||
    end
 | 
						||
    this._Config = _ViewConfig[this._ViewType]
 | 
						||
    -- 注册按钮事件
 | 
						||
    this.btnFunc = {
 | 
						||
        [1] = this.Report,
 | 
						||
        [2] = this.AddToBlackList,
 | 
						||
        [3] = this.BeatHim,
 | 
						||
        [4] = this.RemoveFromBlackList,
 | 
						||
        [5] = this.GoToBlack,
 | 
						||
        [6] = this.JumpServerBattle,
 | 
						||
        [7] = this.JumpServerBattle_NORMAL,
 | 
						||
        [8] = this.LingMaiFormaion,
 | 
						||
        [9] = this.LingMaiQieCuo,
 | 
						||
    }
 | 
						||
end
 | 
						||
 | 
						||
-- 设置界面类型
 | 
						||
function PlayerInfoPopup:SetViewType(viewType)
 | 
						||
    this._ViewType = viewType or PLAYER_INFO_VIEW_TYPE.NORMAL
 | 
						||
    this._Config = _ViewConfig[this._ViewType]
 | 
						||
    this:OnShow()
 | 
						||
end
 | 
						||
 | 
						||
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
 | 
						||
function PlayerInfoPopup:OnShow()
 | 
						||
    -- this.RefreshBtnShow()
 | 
						||
    -- 请求数据
 | 
						||
    LogGreen("角色Id:"..tostring(this._PlayerId).."   编队Id:"..tostring(this._Config.formationType))
 | 
						||
    if this._PlayerId > 0 then--如果PlayerId > 0 说明是真人或者机器人,为0暂时为灵脉使用,直接是怪物组,数据需要自己拼接
 | 
						||
        netserverName = nil
 | 
						||
        if this.serverName and this.serverName ~= ""  then--and this.serverName ~= PlayerManager.serverInfo.name
 | 
						||
            netserverName = 1
 | 
						||
        end
 | 
						||
        this.curPlayerData = {}
 | 
						||
        NetManager.RequestPlayerInfo(this._PlayerId, this._Config.formationType,netserverName,0, function(msg)   
 | 
						||
            -- 如果是好友更新好友数据
 | 
						||
            this.curPlayerData = msg.teamInfo
 | 
						||
            curPlayerName = msg.teamInfo.name
 | 
						||
            GoodFriendManager.UpdateFriendData(this._PlayerId, msg.teamInfo.level, JingJiShouWeiToEn(msg.teamInfo.name) , msg.teamInfo.head, msg.teamInfo.headFrame)
 | 
						||
            this._PlayerData = msg.teamInfo
 | 
						||
            this.RefreshPlayerInfo(msg.teamInfo)
 | 
						||
            local teamInfo = msg.teamInfo.team
 | 
						||
            this.FormationAdapter(teamInfo)
 | 
						||
            --
 | 
						||
            this.RefreshFunction()
 | 
						||
            this.RefreshBtnShow()
 | 
						||
        end)
 | 
						||
    else
 | 
						||
        --目前只给灵脉,如果还有其他请写明备注
 | 
						||
        this.InfoBtns:SetActive(false)
 | 
						||
        this.InfoContentGrid:SetActive(false)
 | 
						||
        this.pokemonObj:SetActive(false)
 | 
						||
        this.extraInfo.Init(this,this.data,_ViewConfig[this._ViewType])
 | 
						||
    end
 | 
						||
end
 | 
						||
 | 
						||
-- 刷新基础信息显示
 | 
						||
local titleLiveStr
 | 
						||
local titleLive
 | 
						||
function this.RefreshPlayerInfo(data)
 | 
						||
    local curname = ""
 | 
						||
    if data.serverName and data.serverName ~= "" then
 | 
						||
        curname =  data.serverName .. "  " ..data.name
 | 
						||
    elseif this.serverName and this.serverName ~= "" then
 | 
						||
        curname =  this.serverName .. "  " ..data.name
 | 
						||
    else
 | 
						||
        curname = data.name
 | 
						||
    end
 | 
						||
    this.memName.text = PracticeManager.SetNameColor(curname,data.practiceLevel)--data.name
 | 
						||
    if(data.guildName~="") then
 | 
						||
        this.memProfess.text =Language[10633]..data.guildName--GUILD_GRANT_STR[data.position]
 | 
						||
    else
 | 
						||
        this.memProfess.text =Language[10633]..Language[10086]
 | 
						||
    end
 | 
						||
    -- 头像
 | 
						||
    if not _PlayerHead then
 | 
						||
        _PlayerHead = SubUIManager.Open(SubUIConfig.PlayerHeadView, this.memHead.transform)
 | 
						||
    end
 | 
						||
    _PlayerHead:Reset()
 | 
						||
    _PlayerHead:SetScale(Vector3.one * 0.85)
 | 
						||
    _PlayerHead:SetHead(data.head)
 | 
						||
    _PlayerHead:SetFrame(data.headFrame)
 | 
						||
    _PlayerHead:SetLevel(data.level)
 | 
						||
    _PlayerHead:SetLayer(this.sortingOrder)
 | 
						||
    _PlayerHead:SetEffectScale(0.9)
 | 
						||
    local title=data.userTitle
 | 
						||
    if title and title>0 then
 | 
						||
        this.titlePar:SetActive(true)
 | 
						||
        if titleLive then
 | 
						||
            SubUIManager.Close(titleLive)
 | 
						||
            titleLive = nil
 | 
						||
        end
 | 
						||
        if not titleLive then
 | 
						||
            titleLive = SubUIManager.Open(SubUIConfig.PlayerTitle, this.titlePar.transform)
 | 
						||
            titleLive:SetShow(title, Vector3.New(0,0,0), 0.5, 0.03*20, 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.RefreshFunction()
 | 
						||
    this.addFriendBtn:SetActive(false)
 | 
						||
    this.starBox:SetActive(false)
 | 
						||
 | 
						||
    if this._ViewType == PLAYER_INFO_VIEW_TYPE.NORMAL or this._ViewType == PLAYER_INFO_VIEW_TYPE.MIND_DEMON then
 | 
						||
        this.addFriendBtn:SetActive(true)
 | 
						||
        local isSelf = this._PlayerId == PlayerManager.uid
 | 
						||
        local isMyFriend = isSelf and true or GoodFriendManager.IsMyFriend(this._PlayerId)
 | 
						||
        local isApplyed = this._PlayerData.isApplyed == 1
 | 
						||
        Util.SetGray(this.addFriendBtn, isMyFriend or isApplyed)
 | 
						||
        this.addFriendBtnText.text = isApplyed and Language[10816] or Language[10937]
 | 
						||
    end
 | 
						||
end
 | 
						||
 | 
						||
-- 编队数据匹配
 | 
						||
function this.FormationAdapter(teamInfo)
 | 
						||
    --====================编队信息======================
 | 
						||
    this.formationTip.text = _ViewConfig[this._ViewType].tip
 | 
						||
    -- 战斗力
 | 
						||
    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)
 | 
						||
            local starSize = Vector2.New(35,35)
 | 
						||
            local starScale = -8
 | 
						||
            if starType == 3 then
 | 
						||
                starSize =  Vector2.New(1,-15.65)
 | 
						||
                starScale = -13
 | 
						||
            elseif starType == 2 then
 | 
						||
                starSize =  Vector2.New(60,57)
 | 
						||
            end
 | 
						||
            SetHeroStars(this.spLoader, this.Demons[hero.position].starGrid, star,starType,starSize,starScale)
 | 
						||
            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(hero.propertyId))
 | 
						||
            this.Demons[hero.position].levelText.text = hero.level
 | 
						||
            this.Demons[hero.position].frame.sprite = this.spLoader:LoadSprite(GetQuantityImageByquality(heroConfig.Quality, hero.star))
 | 
						||
            SetHeroIcon(this.spLoader, hero,this.Demons[hero.position].icon,heroConfig)
 | 
						||
            SetHeroFlyEffect(this.Demons[hero.position].hero,this.spLoader,hero.star,this.sortingOrder+1,0.9,2)
 | 
						||
            local heroData = {}
 | 
						||
            if this._Config.formationType == FormationTypeDef.FORMATION_TSLX then
 | 
						||
                Util.AddOnceClick(this.Demons[hero.position].frameBtn, function()
 | 
						||
                    UIManager.OpenPanel(UIName.RoleGetInfoPopup,false,demonId,hero.star)
 | 
						||
                end)
 | 
						||
            else
 | 
						||
                Util.AddOnceClick(this.Demons[hero.position].frameBtn, function()
 | 
						||
                    NetManager.ViewHeroInfoRequest(this._PlayerId,hero.heroid,netserverName,this._Config.formationType,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)
 | 
						||
                        LogError("msg.playerGiftLv==================="..msg.playerGiftLv)
 | 
						||
                        for k, v in pairs(heroData.potential) do
 | 
						||
                            v.giftLv= msg.playerGiftLv
 | 
						||
                        end
 | 
						||
                        UIManager.OpenPanel(UIName.RoleInfoPopup, heroData,true)
 | 
						||
                    end)
 | 
						||
                end)
 | 
						||
            end
 | 
						||
        end
 | 
						||
    end
 | 
						||
    local len=#teamInfo.PokemonInfos
 | 
						||
    -- LogError("长度:"..len)
 | 
						||
    if len>0 then
 | 
						||
        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.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)
 | 
						||
            local starSize = Vector2.New(35,35)
 | 
						||
            local star=hero.star
 | 
						||
            local type=1
 | 
						||
            local starScale = -10
 | 
						||
            if star>5 then
 | 
						||
                star=star+6
 | 
						||
                starSize =  Vector2.New(0.8,-25)
 | 
						||
                starScale=-20
 | 
						||
                type=3
 | 
						||
            else
 | 
						||
                starScale=-15
 | 
						||
            end
 | 
						||
            local grid=Util.GetGameObject(heroGo, "starGrid")
 | 
						||
            SetHeroStars(this.spLoader, grid, star,type,starSize,starScale)
 | 
						||
            --SetHeroStars(this.spLoader,grid ,star,type,starSize, starScale,Vector2.New(0.5,1))
 | 
						||
            Util.AddParticleSortLayer(Util.GetGameObject(heroGo, "starGrid"),this.sortingOrder + 1)
 | 
						||
            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
 | 
						||
 | 
						||
    --====================队伍神兵信息======================
 | 
						||
    local len2=#teamInfo.MagicSoldier
 | 
						||
    -- LogError("长度:"..len)
 | 
						||
    if len2>0 then
 | 
						||
        this.weaponInfo:SetActive(true)
 | 
						||
        for i, demon in ipairs(this.Weapons) 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.weaponInfo:SetActive(false)
 | 
						||
    end
 | 
						||
    for i, hero in ipairs(teamInfo.MagicSoldier) do
 | 
						||
        local demonId = teamInfo.MagicSoldier[i].heroTid
 | 
						||
        --this.Weapons[].gameObject:SetActive(true)
 | 
						||
        if demonId then
 | 
						||
            LogError("hero.position=="..teamInfo.MagicSoldier[i].position)
 | 
						||
            local heroGo = Util.GetGameObject(this.Weapons[hero.position], "hero")
 | 
						||
            heroGo:SetActive(true)
 | 
						||
            SetHeroStars(this.spLoader, Util.GetGameObject(heroGo, "starGrid"), hero.star,1)
 | 
						||
            local heroConfig = ConfigManager.GetConfigData(ConfigName.ShenBing, demonId)
 | 
						||
            Util.GetGameObject(heroGo, "lvbg/levelText"):GetComponent("Text").text = hero.level
 | 
						||
            Util.GetGameObject(this.Weapons[hero.position], "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.Weapons[hero.position], "frame")
 | 
						||
            local heroData = {}
 | 
						||
            Util.AddOnceClick(frameBtn, function()
 | 
						||
              local pokemonData={tempId=demonId,id=demonId,star=hero.star,level=hero.level}
 | 
						||
              UIManager.OpenPanel(UIName.GodWeaponGetInfoPopup,true,pokemonData)
 | 
						||
            end)
 | 
						||
        end
 | 
						||
    end
 | 
						||
    
 | 
						||
    --====================其他信息按钮显示======================
 | 
						||
    this.infoIndex = 0
 | 
						||
    for index, value in ipairs(InfoBtns) do
 | 
						||
        LogError("teamInfo.giftEquipIds len============="..#teamInfo.giftEquipIds)
 | 
						||
        --添加按钮
 | 
						||
        local item = this.InfoBtnsList[index]
 | 
						||
        if not item then
 | 
						||
            item = newObjToParent(this.infoBtnPre,this.InfoBtnsGrid.transform)
 | 
						||
            this.InfoBtnsList[index] = item
 | 
						||
            item.gameObject:SetActive(true)
 | 
						||
        end
 | 
						||
        local name = Util.GetGameObject(item,"btnName"):GetComponent("Text")
 | 
						||
        name.text = value.name
 | 
						||
 | 
						||
        --判断按钮是否显示
 | 
						||
        if  (index == 1 and teamInfo.sealShow and #teamInfo.sealShow > 0) or--神印
 | 
						||
            (index == 2 and teamInfo.transformationCardInfo and #teamInfo.transformationCardInfo > 0) or--身外化身
 | 
						||
            (index == 3 and teamInfo.sixiangxinfaInfo and #teamInfo.sixiangxinfaInfo > 0) or--四象心法
 | 
						||
            (index == 5 and teamInfo.userMountInfo and #teamInfo.userMountInfo > 0) then--坐骑
 | 
						||
            item.gameObject:SetActive(true)
 | 
						||
            if this.infoIndex == 0 then
 | 
						||
                this.infoIndex = index
 | 
						||
            end
 | 
						||
        elseif (index == 4 and teamInfo.gemNews and #teamInfo.gemNews > 0) then--命石
 | 
						||
            -- local num = 0
 | 
						||
            -- for i = 1, #teamInfo.gemNews do
 | 
						||
            --     local data = teamInfo.gemNews[i]
 | 
						||
            --     if data.itemId and data.itemId > 0 then
 | 
						||
            --         num = num + 1
 | 
						||
            --     end
 | 
						||
            -- end
 | 
						||
            item.gameObject:SetActive(#teamInfo.gemNews> 0)
 | 
						||
            if this.infoIndex == 0 then
 | 
						||
                this.infoIndex = index
 | 
						||
            end
 | 
						||
        elseif (index == 6 and teamInfo.giftEquipIds and #teamInfo.giftEquipIds > 0) then
 | 
						||
            item.gameObject:SetActive(#teamInfo.giftEquipIds> 0)
 | 
						||
            if this.infoIndex == 0 then
 | 
						||
                this.infoIndex = index
 | 
						||
            end
 | 
						||
        else
 | 
						||
            item.gameObject:SetActive(false)
 | 
						||
        end
 | 
						||
 | 
						||
        --添加点击事件
 | 
						||
        Util.AddOnceClick(item,function ()
 | 
						||
            this.infoIndex = index
 | 
						||
            this.ShowInfos(teamInfo)
 | 
						||
        end)
 | 
						||
    end
 | 
						||
    --初始化一次
 | 
						||
    if this.infoIndex == 0 then
 | 
						||
        this.InfoBtns:SetActive(false)
 | 
						||
        this.InfoContentGrid:SetActive(false)
 | 
						||
    else
 | 
						||
        this.InfoBtns:SetActive(true)
 | 
						||
        this.InfoContentGrid:SetActive(true)
 | 
						||
        this.ShowInfos(teamInfo)
 | 
						||
    end
 | 
						||
end
 | 
						||
 | 
						||
--选择展示下方框框中显示的内容
 | 
						||
function this.ShowInfos(teamInfo)
 | 
						||
    for index, value in ipairs(this.InfoBtnsList) do
 | 
						||
        local img = value:GetComponent("Image")
 | 
						||
        local text = Util.GetGameObject(value,"btnName"):GetComponent("Text")
 | 
						||
        if this.infoIndex == index then
 | 
						||
            img.sprite = this.spLoader:LoadSprite("s_shop_qieye_2")
 | 
						||
            text.color = Color.New(253 / 255, 244 / 255, 214 / 255, 1)
 | 
						||
        else
 | 
						||
            img.sprite = this.spLoader:LoadSprite("s_shop_qieye_1")
 | 
						||
            text.color = Color.New(181 / 255, 164 / 255, 129 / 255, 1)
 | 
						||
        end
 | 
						||
        Util.GetGameObject(this.InfoContent,InfoBtns[index].gridName):SetActive(false)
 | 
						||
    end
 | 
						||
 | 
						||
    local MainContent = Util.GetGameObject(this.InfoContent,InfoBtns[this.infoIndex].gridName)
 | 
						||
    local Grid = Util.GetGameObject(MainContent,"Grid")
 | 
						||
    MainContent:SetActive(true)
 | 
						||
    if not this.ItemPreList[this.infoIndex] then
 | 
						||
        this.ItemPreList[this.infoIndex] = {}
 | 
						||
    end
 | 
						||
    for i = 1, #this.ItemPreList[this.infoIndex] do
 | 
						||
        this.ItemPreList[this.infoIndex][i].gameObject:SetActive(false)
 | 
						||
    end
 | 
						||
 | 
						||
    InfoBtns[this.infoIndex].func(teamInfo,Grid)
 | 
						||
end
 | 
						||
 | 
						||
--===========================滑动条中的信息展示====================
 | 
						||
--神印的
 | 
						||
function this.imprintInfoShow(teamInfo,Grid)
 | 
						||
    for i = 1, #teamInfo.sealShow do
 | 
						||
        local item = this.ItemPreList[this.infoIndex][i]
 | 
						||
        local value = teamInfo.sealShow[i]
 | 
						||
        if not item then
 | 
						||
            item = newObjToParent(this.imprintPre,Grid.transform)
 | 
						||
            item:SetActive(true)
 | 
						||
            this.ItemPreList[this.infoIndex][i] = item
 | 
						||
        end
 | 
						||
        item.gameObject:SetActive(true)
 | 
						||
        local icon = Util.GetGameObject(item,"icon"):GetComponent("Image")
 | 
						||
        icon.sprite = this.spLoader:LoadSprite(GetResourcePath(XiuXianSkillConfig[value.id].Icon))
 | 
						||
        Util.AddOnceClick(item.gameObject,function ()
 | 
						||
            UIManager.OpenPanel(UIName.GeneralInfoPopup,GENERALINFO_TYPE.Imprint,value.id,value.heroTId)
 | 
						||
        end)
 | 
						||
    end
 | 
						||
end
 | 
						||
 | 
						||
--身外化身
 | 
						||
function this.huashenInfoShow(teamInfo,Grid)
 | 
						||
    -- for i = 1, #teamInfo.transformationCardInfo do
 | 
						||
    --     local data = teamInfo.transformationCardInfo[i]
 | 
						||
    --     LogGreen("身外化身卡 id:"..tostring(data.id).."   位置:"..tostring(data.index).."   状态:"..tostring(data.status))
 | 
						||
    -- end
 | 
						||
    for i = 1, #teamInfo.transformationCardInfo do
 | 
						||
        local item = this.ItemPreList[this.infoIndex][i]
 | 
						||
        local value = teamInfo.transformationCardInfo[i]
 | 
						||
        if not item then
 | 
						||
            item = newObjToParent(this.emptyPre,Grid.transform)
 | 
						||
            item:SetActive(true)
 | 
						||
            this.ItemPreList[this.infoIndex][i] = item
 | 
						||
 | 
						||
            local itemview = SubUIManager.Open(SubUIConfig.ItemView, item.transform)
 | 
						||
            this.ItemList[i] = itemview
 | 
						||
            this.ItemList[i].transform:SetSiblingIndex(1)
 | 
						||
        end
 | 
						||
        this.ItemList[i]:OnOpen(false, {ChangingCard[value.id].CardId,0,0,value.level,value.star}, 1,false,false,false,this.sortingOrder)
 | 
						||
        Util.GetGameObject(item,"Name"):GetComponent("Text").text = ItemConfig[ChangingCard[value.id].CardId].Name
 | 
						||
        Util.GetGameObject(item,"lvbg/levelText"):GetComponent("Text").text = value.level
 | 
						||
        Util.GetGameObject(item,"lvbg"):SetActive(true)
 | 
						||
        local starGrid= Util.GetGameObject(item,"starGrid")
 | 
						||
        starGrid.gameObject:SetActive(true)
 | 
						||
        for i = 0, 5 do
 | 
						||
            if i<value.star then
 | 
						||
                starGrid.transform:GetChild(i).gameObject:SetActive(true)
 | 
						||
            else
 | 
						||
                starGrid.transform:GetChild(i).gameObject:SetActive(false)
 | 
						||
            end
 | 
						||
        end    
 | 
						||
        this.ItemList[i].gameObject:SetActive(true)
 | 
						||
        item:SetActive(true)
 | 
						||
    end
 | 
						||
end
 | 
						||
 | 
						||
--四象心法
 | 
						||
function this.fourElementInfoShow(teamInfo,Grid)
 | 
						||
    local textList = {}
 | 
						||
    local TRANS = {[1] = 2,[2] = 1,[3] = 3,[4] = 4,}
 | 
						||
    for i = 1, 4 do
 | 
						||
        textList[i] = Util.GetGameObject(Grid,"fourPre ("..i..")/lv/Text")
 | 
						||
        textList[i]:GetComponent("Text").text = "0"
 | 
						||
    end
 | 
						||
    for i = 1, #teamInfo.sixiangxinfaInfo do
 | 
						||
        local data = teamInfo.sixiangxinfaInfo[i]
 | 
						||
        -- LogYellow("四象心法 职业id:"..tostring(data.professionId).."   等级:"..tostring(data.level))
 | 
						||
        textList[TRANS[data.professionId]]:GetComponent("Text").text = data.level
 | 
						||
    end
 | 
						||
end
 | 
						||
 | 
						||
--命格
 | 
						||
function this.GemInfoShow(teamInfo,Grid)
 | 
						||
    -- local iconList = {}
 | 
						||
    -- local levelList = {}
 | 
						||
    -- for i = 1, 8 do
 | 
						||
    --     iconList[i] = {}
 | 
						||
    --     levelList[i] = {}
 | 
						||
    --     for j = 1, 3 do
 | 
						||
    --         iconList[i][j] = Util.GetGameObject(Grid,"item ("..i..")/stone ("..j..")/icon")
 | 
						||
    --         levelList[i][j] = Util.GetGameObject(Grid,"item ("..i..")/stone ("..j..")/Text")
 | 
						||
    --         iconList[i][j]:SetActive(false)
 | 
						||
    --         levelList[i][j]:GetComponent("Text").text = ""
 | 
						||
    --     end
 | 
						||
    -- end
 | 
						||
    -- for i = 1, #teamInfo.lifeGridInfo do
 | 
						||
    --     local data = teamInfo.lifeGridInfo[i]
 | 
						||
    --     -- LogBlue("命格 id:"..tostring(data.gridId).."   位置:"..tostring(data.gridIndex).."   命石Id:"..tostring(data.itemId))
 | 
						||
    --     if data.itemId and data.itemId > 0 then
 | 
						||
    --         iconList[data.gridId][data.gridIndex]:GetComponent("Image").sprite = this.spLoader:LoadSprite(GetSpriteNameByItemId(data.itemId))
 | 
						||
    --         levelList[data.gridId][data.gridIndex]:GetComponent("Text").text = GemConfig[data.itemId].Level
 | 
						||
    --         iconList[data.gridId][data.gridIndex]:SetActive(true)
 | 
						||
    --     end
 | 
						||
    -- end
 | 
						||
 | 
						||
    --队伍命石信息
 | 
						||
    local gems=teamInfo.gemNews
 | 
						||
    if gems and #gems>0 then
 | 
						||
       this.newGemInfo:SetActive(false)
 | 
						||
       for i=1,16 do
 | 
						||
           if gems[i] then
 | 
						||
              this.newGems[i]:SetActive(true)
 | 
						||
               local data=GemNewManager.ChangeOneGemData(gems[i])
 | 
						||
               Util.GetGameObject(this.newGems[i], "frame"):GetComponent("Image").sprite = this.spLoader:LoadSprite(data.frame)
 | 
						||
               Util.GetGameObject(this.newGems[i], "hero/icon"):GetComponent("Image").sprite = this.spLoader:LoadSprite(data.icon)
 | 
						||
               local frameBtn = Util.GetGameObject(this.newGems[i], "frame")
 | 
						||
               local heroData = {}
 | 
						||
               Util.AddOnceClick(frameBtn, function()
 | 
						||
                   UIManager.OpenPanel(UIName.RewardGemSingleShowPopup,data,3)
 | 
						||
               end)
 | 
						||
           else
 | 
						||
              this.newGems[i]:SetActive(false)
 | 
						||
           end
 | 
						||
       end
 | 
						||
    else
 | 
						||
       this.newGemInfo:SetActive(false)
 | 
						||
    end
 | 
						||
end
 | 
						||
 | 
						||
--坐骑
 | 
						||
function this.RideInfoShow(teamInfo,Grid)
 | 
						||
    -- for i = 1, #teamInfo.userMountInfo do
 | 
						||
    --     local data = teamInfo.userMountInfo[i]
 | 
						||
    --     LogPink("坐骑 id:"..tostring(data.mountId).."   过期时间:"..tostring(data.overTime))
 | 
						||
    -- end
 | 
						||
    for i = 1, #teamInfo.userMountInfo do
 | 
						||
        local item = this.ItemPreList[this.infoIndex][i]
 | 
						||
        local value = teamInfo.userMountInfo[i]
 | 
						||
        if not item then
 | 
						||
            item = SubUIManager.Open(SubUIConfig.ItemView, Grid.transform)
 | 
						||
            this.ItemPreList[this.infoIndex][i] = item
 | 
						||
        end
 | 
						||
        item:OnOpen(false, {value.mountId,0}, 1,true,false,false,this.sortingOrder)
 | 
						||
        item.gameObject:SetActive(true)
 | 
						||
    end
 | 
						||
    if #teamInfo.userMountInfo > 4 then
 | 
						||
        -- Grid:GetComponent("HorizontalLayoutGroup").padding.left = 30
 | 
						||
        Grid:GetComponent("RectTransform").pivot = Vector2.New(0, 0.5)
 | 
						||
    else
 | 
						||
        -- Grid:GetComponent("HorizontalLayoutGroup").padding.left = -30
 | 
						||
        Grid:GetComponent("RectTransform").pivot = Vector2.New(0.5, 0.5)
 | 
						||
    end
 | 
						||
end
 | 
						||
 | 
						||
--礼物
 | 
						||
function this.GiftInfoShow(teamInfo,Grid)
 | 
						||
    for i = 1, #teamInfo.giftEquipIds do
 | 
						||
        local item = this.ItemPreList[this.infoIndex][i]
 | 
						||
        local value = teamInfo.giftEquipIds[i]
 | 
						||
        if not item then
 | 
						||
            item = SubUIManager.Open(SubUIConfig.ItemView, Grid.transform)
 | 
						||
            this.ItemPreList[this.infoIndex][i] = item
 | 
						||
        end
 | 
						||
        item:OnOpen(false, {value,0}, 1,true,false,false,this.sortingOrder)
 | 
						||
        item.gameObject:SetActive(true)
 | 
						||
    end
 | 
						||
    if #teamInfo.giftEquipIds > 4 then
 | 
						||
        -- Grid:GetComponent("HorizontalLayoutGroup").padding.left = 30
 | 
						||
        Grid:GetComponent("RectTransform").pivot = Vector2.New(0, 0.5)
 | 
						||
    else
 | 
						||
        -- Grid:GetComponent("HorizontalLayoutGroup").padding.left = -30
 | 
						||
        Grid:GetComponent("RectTransform").pivot = Vector2.New(0.5, 0.5)
 | 
						||
    end
 | 
						||
end
 | 
						||
--============================底部按钮显示===========================
 | 
						||
function this.RefreshBtnShow()
 | 
						||
    this.btnBox:SetActive(true)
 | 
						||
 | 
						||
    -- 按钮功能
 | 
						||
    local btnType = this._Config.btnType or  {}
 | 
						||
    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
 | 
						||
 | 
						||
    -- 自己
 | 
						||
    if this._PlayerId == PlayerManager.uid or curPlayerName == Language[12230] then
 | 
						||
        --this.boxLine:SetActive(false)
 | 
						||
        this.btnBox:SetActive(false)
 | 
						||
        this.addFriendBtn:SetActive(false)
 | 
						||
    end
 | 
						||
    -- 判断该界面类型是否有按钮显示
 | 
						||
    if not this._Config or not this._Config.btnType or isNpc  then
 | 
						||
        --this.boxLine:SetActive(false)
 | 
						||
        this.btnBox:SetActive(false)
 | 
						||
        this.addFriendBtn:SetActive(false)
 | 
						||
    end
 | 
						||
    this.addFriendBtn:SetActive(this._Config.isAddFriend)
 | 
						||
    --一些按钮需要特殊显示
 | 
						||
    this.SpecialBtnShow()
 | 
						||
end
 | 
						||
--按钮特殊显示
 | 
						||
function this.SpecialBtnShow()
 | 
						||
    if this._ViewType == PLAYER_INFO_VIEW_TYPE.LINGMAIMIJING then
 | 
						||
        this.btnBox:SetActive(true)
 | 
						||
        local bool = this._PlayerId == PlayerManager.uid
 | 
						||
        if UIManager.IsOpen(UIName.RankingSingleListPanel) then
 | 
						||
            this.btnList[1]:SetActive(not bool)
 | 
						||
            this.btnList[2]:SetActive(false)
 | 
						||
            this.btnList[3]:SetActive(false)
 | 
						||
        else
 | 
						||
            this.btnList[1]:SetActive(not bool)
 | 
						||
            this.btnList[2]:SetActive(not bool)
 | 
						||
            this.btnList[3]:SetActive(bool)
 | 
						||
            if LingMaiMiJingManager.myPlaceId ~= 0 and LingMaiMiJingManager.myPlaceId < this.data.Id then
 | 
						||
                this.btnList[2]:SetActive(false)
 | 
						||
            end
 | 
						||
        end
 | 
						||
        --临时修改如果灵脉已占领无法抢夺挑战
 | 
						||
        if this._PlayerId>0 then
 | 
						||
            this.btnBox:SetActive(false)
 | 
						||
        end
 | 
						||
    end
 | 
						||
end
 | 
						||
 | 
						||
----===============================  按钮事件==================================
 | 
						||
-- 举报
 | 
						||
function this.Report()
 | 
						||
    Log("举报")
 | 
						||
end
 | 
						||
-- 拉黑
 | 
						||
function this.AddToBlackList()
 | 
						||
    if this.serverName and this.serverName ~= "" then
 | 
						||
        PopupTipPanel.ShowTip("无法跨服添加黑名单")
 | 
						||
        return 
 | 
						||
    end
 | 
						||
    if not ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.GOODFRIEND) then
 | 
						||
        PopupTipPanel.ShowTip(Language[10828])
 | 
						||
        return
 | 
						||
    end
 | 
						||
    if table.nums(GoodFriendManager.blackFriendList) >= GoodFriendManager.blackFriendLimit then
 | 
						||
        PopupTipPanel.ShowTip(Language[11503])
 | 
						||
        return
 | 
						||
    end
 | 
						||
    GoodFriendManager.RequestAddToBlackList(this._PlayerId, function()
 | 
						||
        PopupTipPanel.ShowTip(Language[11504])
 | 
						||
        this:SetViewType(PLAYER_INFO_VIEW_TYPE.GO_TO_BLACK)
 | 
						||
    end)
 | 
						||
end
 | 
						||
-- 移除黑名单
 | 
						||
function this.RemoveFromBlackList()
 | 
						||
    if not ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.GOODFRIEND) then
 | 
						||
        PopupTipPanel.ShowTip(Language[10828])
 | 
						||
        return
 | 
						||
    end
 | 
						||
    GoodFriendManager.RequestDeleteFromBlackList(this._PlayerId, function()
 | 
						||
        PopupTipPanel.ShowTip(Language[11505])
 | 
						||
        this:ClosePanel()
 | 
						||
    end)
 | 
						||
end
 | 
						||
-- 移除黑名单
 | 
						||
function this.GoToBlack()
 | 
						||
    if not ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.GOODFRIEND) then
 | 
						||
        PopupTipPanel.ShowTip(Language[10828])
 | 
						||
        return
 | 
						||
    end
 | 
						||
    this:ClosePanel()
 | 
						||
    UIManager.OpenPanel(UIName.GoodFriendMainPanel, true, 4)
 | 
						||
end
 | 
						||
-- 打他
 | 
						||
function this.BeatHim()
 | 
						||
    this:ClosePanel()
 | 
						||
    UIManager.OpenPanel(UIName.FormationPanelV2, FORMATION_TYPE.PLAY, this._PlayerData)
 | 
						||
end
 | 
						||
-- 跨服天梯
 | 
						||
function this.JumpServerBattle()
 | 
						||
    this:ClosePanel()
 | 
						||
    UIManager.OpenPanel(UIName.FormationPanelV2, FORMATION_TYPE.JUMPSERVER_HIGHTLADDER,true, this._PlayerData)
 | 
						||
end
 | 
						||
-- 跨服天梯
 | 
						||
function this.JumpServerBattle_NORMAL()
 | 
						||
    this:ClosePanel()
 | 
						||
    UIManager.OpenPanel(UIName.FormationPanelV2, FORMATION_TYPE.PLAY, this._PlayerData,true)
 | 
						||
end
 | 
						||
 | 
						||
--灵脉秘境
 | 
						||
function this.LingMaiFormaion()
 | 
						||
    if this.data.uid == PlayerManager.uid then
 | 
						||
        this:ClosePanel()
 | 
						||
        Log("调整编队")
 | 
						||
        UIManager.OpenPanel(UIName.FormationPanelV2, FORMATION_TYPE.LINGMAIMIJING, this.data)
 | 
						||
    else
 | 
						||
        LingMaiMiJingManager.CheckPrivilage(function ()
 | 
						||
            this:ClosePanel()
 | 
						||
            Log("正常战斗")
 | 
						||
            UIManager.OpenPanel(UIName.FormationPanelV2, FORMATION_TYPE.LINGMAIMIJING, this.data)
 | 
						||
        end)
 | 
						||
    end
 | 
						||
end
 | 
						||
--灵脉秘境
 | 
						||
function this.LingMaiQieCuo()
 | 
						||
    this:ClosePanel()
 | 
						||
    local sdata = {}
 | 
						||
    sdata.uid = this._PlayerId
 | 
						||
    sdata.name = this.curPlayerData.name
 | 
						||
    sdata.head = this.curPlayerData.head
 | 
						||
    sdata.headFrame = this.curPlayerData.headFrame
 | 
						||
    UIManager.OpenPanel(UIName.FormationPanelV2, FORMATION_TYPE.LINGMAIMIJING, sdata,true)
 | 
						||
end
 | 
						||
--=====================================按钮事件结束======================================
 | 
						||
 | 
						||
--界面关闭时调用(用于子类重写)
 | 
						||
function PlayerInfoPopup:OnClose()
 | 
						||
    -- this.imprintObj:SetActive(false)
 | 
						||
    JumpServerManager.SetCurPersonInfo(nil)
 | 
						||
    if titleLive then
 | 
						||
        SubUIManager.Close(titleLive)
 | 
						||
        titleLive = nil
 | 
						||
    end
 | 
						||
    curPlayerData = {}
 | 
						||
end
 | 
						||
 | 
						||
--界面销毁时调用(用于子类重写)
 | 
						||
function PlayerInfoPopup:OnDestroy()
 | 
						||
    this.spLoader:Destroy()
 | 
						||
    -- 头像
 | 
						||
    if _PlayerHead then
 | 
						||
        _PlayerHead:Recycle()
 | 
						||
        _PlayerHead = nil
 | 
						||
    end
 | 
						||
    titleLive = nil
 | 
						||
    titleLiveStr = nil
 | 
						||
    -- this.imprintItemList = {}
 | 
						||
    this.InfoBtnsList = {}
 | 
						||
    this.ItemPreList = {}
 | 
						||
    this.Demons = {}
 | 
						||
    if this.extraInfo then
 | 
						||
        this.extraInfo.OnDestroy()
 | 
						||
    end
 | 
						||
end
 | 
						||
 | 
						||
return PlayerInfoPopup
 | 
						||
 |