463 lines
		
	
	
		
			21 KiB
		
	
	
	
		
			Lua
		
	
			
		
		
	
	
			463 lines
		
	
	
		
			21 KiB
		
	
	
	
		
			Lua
		
	
require("Base/BasePanel")
 | 
						|
IncarnationPanel = Inherit(BasePanel)
 | 
						|
local heroConfig = ConfigManager.GetConfig(ConfigName.HeroConfig)
 | 
						|
local artResourcesConfig = ConfigManager.GetConfig(ConfigName.ArtResourcesConfig)
 | 
						|
local specialConfig = ConfigManager.GetConfigData(ConfigName.SpecialConfig,155).Value
 | 
						|
local xiuxian=ConfigManager.GetConfig(ConfigName.XiuXianConfig)
 | 
						|
local curLevel =PracticeManager.PracticeLevel  --ConfigManager.GetConfigData(ConfigName.ChangingForce,IncarnationManager.incarnationForceLv).Level
 | 
						|
local limits=string.split(specialConfig,"#")
 | 
						|
local tabs = {}
 | 
						|
local tabsRedpoints = {}
 | 
						|
local tabsImg = {"r_hero_huo 1_zh", "r_hero_feng 1_zh", "r_hero_shui 1_zh", "r_hero_dadi 1_zh"}
 | 
						|
local proId = 1
 | 
						|
local curIndex=1
 | 
						|
local allPos={1321,327,-330}
 | 
						|
function IncarnationPanel:InitComponent()
 | 
						|
    self.spLoader = SpriteLoader.New()
 | 
						|
    for i = 1, 4 do
 | 
						|
        tabs[i] = Util.GetGameObject(self.transform, "bg/Tabs/grid/Btn" .. i)
 | 
						|
        tabsRedpoints[i] = Util.GetGameObject(tabs[i], "redpoint")
 | 
						|
        if tabsImg[i] then
 | 
						|
            Util.GetGameObject(tabs[i], "Image"):GetComponent("Image").sprite = self.spLoader:LoadSprite(tabsImg[i])
 | 
						|
        end
 | 
						|
    end
 | 
						|
    self.selectBtn = Util.GetGameObject(self.gameObject,"bg/Tabs/selectBtn")
 | 
						|
    self.btnBack = Util.GetGameObject(self.gameObject,"bg/btnBack")
 | 
						|
    self.btn_left = Util.GetGameObject(self.gameObject,"bg/left")
 | 
						|
    self.btn_left:SetActive(false)
 | 
						|
    self.btn_right = Util.GetGameObject(self.gameObject,"bg/right")
 | 
						|
    self.incarnationPowerBtn = Util.GetGameObject(self.gameObject,"bg/incarnationPowerBtn")
 | 
						|
    self.powerBtnRedPoint = Util.GetGameObject(self.gameObject,"bg/incarnationPowerBtn/redPoint")
 | 
						|
    self.addBtn = Util.GetGameObject(self.gameObject,"bg/addBtn")
 | 
						|
    self.helpBtn = Util.GetGameObject(self.gameObject,"bg/helpBtn")
 | 
						|
    self.helpPos = self.helpBtn:GetComponent("RectTransform").localPosition
 | 
						|
 | 
						|
    self.fetterItem = Util.GetGameObject(self.gameObject,"fetterItem")
 | 
						|
    local grid = Util.GetGameObject(self.gameObject,"bg/fetterGrid")
 | 
						|
    local v21 = grid.transform.rect
 | 
						|
    self.scroll = SubUIManager.Open(SubUIConfig.ScrollCycleView,grid.transform,self.fetterItem,nil,Vector2.New(v21.width, v21.height), 1, 1, Vector2.New(0,25))
 | 
						|
    self.itemPreList = {}
 | 
						|
 | 
						|
    self.upLayoutItemList = {}
 | 
						|
    self.upLayout = Util.GetGameObject(self.gameObject,"bg/upScroll/upLayout")
 | 
						|
    self.upLayout:GetComponent("RectTransform").anchoredPosition=Vector2.New(allPos[curIndex],-221)
 | 
						|
    for i = 1,8 do
 | 
						|
        self.upLayoutItemList[i] = {}
 | 
						|
        self.upLayoutItemList[i].go = Util.GetGameObject(self.upLayout,"card"..i)
 | 
						|
        self.upLayoutItemList[i].btn = Util.GetGameObject(self.upLayoutItemList[i].go,"unLoadBtn")
 | 
						|
        self.upLayoutItemList[i].pos = Util.GetGameObject(self.upLayoutItemList[i].go,"cardPre")
 | 
						|
        self.upLayoutItemList[i].posImg = Util.GetGameObject(self.upLayoutItemList[i].go,"posText"):GetComponent("Image")
 | 
						|
        self.upLayoutItemList[i].posImg.sprite=self.spLoader:LoadSprite("r_fxgz_shuzi_"..i)
 | 
						|
        self.upLayoutItemList[i].getBtn = Util.GetGameObject(self.upLayoutItemList[i].pos,"getBtn")
 | 
						|
        self.upLayoutItemList[i].lv = Util.GetGameObject(self.upLayoutItemList[i].go,"lvText"):GetComponent("Text")
 | 
						|
    end
 | 
						|
    self.empty = Util.GetGameObject(self.gameObject,"bg/NoneImage")
 | 
						|
 | 
						|
    self.cardList = {}
 | 
						|
    self.UpView = SubUIManager.Open(SubUIConfig.UpView, self.gameObject.transform)
 | 
						|
end
 | 
						|
 | 
						|
 | 
						|
 | 
						|
function IncarnationPanel:BindEvent()
 | 
						|
    for i = 1,4 do
 | 
						|
        Util.AddClick(tabs[i], function()
 | 
						|
            if i == proId then
 | 
						|
                return
 | 
						|
            end
 | 
						|
            proId = i
 | 
						|
            self:SetSelectBtn()
 | 
						|
            self:RefreshList(false,true)
 | 
						|
        end)
 | 
						|
    end
 | 
						|
    for i = 1,8 do
 | 
						|
        Util.AddClick(self.upLayoutItemList[i].btn, function()
 | 
						|
            if self.upLayoutData[i] and self.upLayoutData[i].id then
 | 
						|
                NetManager.UpOrDownTransformationRequest(self.upLayoutData[i].id,i,1,function() 
 | 
						|
                    self.upLayoutData[i] = nil
 | 
						|
                    self.upLayoutItemList[i].btn.gameObject:SetActive(false)
 | 
						|
                    self:RefreshSingleCardPre(self.upLayoutItemList[i].pos,nil,false,i)
 | 
						|
                    self:RefreshList(true,true)
 | 
						|
                    PopupTipPanel.ShowTip("成功卸下身外化身!")
 | 
						|
                end)
 | 
						|
            end
 | 
						|
        end)
 | 
						|
    end
 | 
						|
    for i = 1,8 do
 | 
						|
        Util.AddClick(self.upLayoutItemList[i].getBtn, function()
 | 
						|
            if self.upLayoutData[i] and self.upLayoutData[i].id then
 | 
						|
                local pos = self:FindDatasIndexById(self.upLayoutData[i].id)
 | 
						|
                if proId ~= self.upLayoutData[i].property then
 | 
						|
                    proId = self.upLayoutData[i].property
 | 
						|
                    self:SetSelectBtn()
 | 
						|
                    self:RefreshList(false,true)
 | 
						|
                end
 | 
						|
                if pos > 0 then
 | 
						|
                    self.scroll:SetIndex(pos)
 | 
						|
                end
 | 
						|
            end
 | 
						|
        end)
 | 
						|
    end
 | 
						|
    Util.AddClick(self.helpBtn, function()
 | 
						|
        UIManager.OpenPanel(UIName.HelpPopup,HELP_TYPE.Incarnation,self.helpPos.x, self.helpPos.y)
 | 
						|
    end)
 | 
						|
 | 
						|
    Util.AddClick(self.btnBack, function()
 | 
						|
        self:ClosePanel()
 | 
						|
    end)
 | 
						|
 | 
						|
    Util.AddClick(self.btn_left, function()
 | 
						|
        curIndex=curIndex-1
 | 
						|
        if curIndex==1 then
 | 
						|
            self.btn_left:SetActive(false)
 | 
						|
        else
 | 
						|
            self.btn_right:SetActive(true)
 | 
						|
        end
 | 
						|
        self.upLayout:GetComponent("RectTransform").anchoredPosition=Vector2.New(allPos[curIndex],-221)
 | 
						|
    end)
 | 
						|
    Util.AddClick(self.btn_right, function()
 | 
						|
        curIndex=curIndex+1
 | 
						|
        if curIndex==3 then
 | 
						|
            self.btn_right:SetActive(false)
 | 
						|
        else
 | 
						|
            self.btn_left:SetActive(true)
 | 
						|
        end
 | 
						|
        self.upLayout:GetComponent("RectTransform").anchoredPosition=Vector2.New(allPos[curIndex],-221)
 | 
						|
    end)
 | 
						|
    Util.AddClick(self.incarnationPowerBtn, function()
 | 
						|
        UIManager.OpenPanel(UIName.IncarnationForcePanel)
 | 
						|
    end)
 | 
						|
 | 
						|
    Util.AddClick(self.addBtn, function()
 | 
						|
        local data = {}
 | 
						|
        local singData = {}
 | 
						|
        singData.title = "当前化身总加成"
 | 
						|
        singData.pro = IncarnationManager.GetproDesLst(IncarnationManager.GetIncarnationTotalPro(),"00FF00")
 | 
						|
        singData.tip = "总加成包括化身之力提供的属性"
 | 
						|
        table.insert(data,singData)
 | 
						|
        UIManager.OpenPanel(UIName.GeneralBigPopup,GENERAL_POPUP_TYPE.IncarnationDes,data)
 | 
						|
    end)
 | 
						|
 | 
						|
    BindRedPointObject(RedPointType.incarnation_people,tabsRedpoints[1].gameObject)
 | 
						|
    BindRedPointObject(RedPointType.incarnation_buddish,tabsRedpoints[2].gameObject)
 | 
						|
    BindRedPointObject(RedPointType.incarnation_demon,tabsRedpoints[3].gameObject)
 | 
						|
    BindRedPointObject(RedPointType.incarnation_taoist,tabsRedpoints[4].gameObject)
 | 
						|
    BindRedPointObject(RedPointType.incarnation_force,self.powerBtnRedPoint.gameObject)
 | 
						|
end
 | 
						|
 | 
						|
function IncarnationPanel:FindDatasIndexById(id)
 | 
						|
    for i = 1 ,#self.datas do
 | 
						|
        if self.datas[i].id == id then
 | 
						|
            return i
 | 
						|
        end
 | 
						|
    end
 | 
						|
    return -1
 | 
						|
end
 | 
						|
 | 
						|
function IncarnationPanel:SetSelectBtn()
 | 
						|
    self.selectBtn.transform:SetParent(tabs[proId].transform)
 | 
						|
    self.selectBtn:GetComponent("RectTransform").localPosition = Vector3.zero
 | 
						|
end
 | 
						|
function IncarnationPanel:RefreshUpLimitLevel()
 | 
						|
    curLevel =PracticeManager.PracticeLevel       --ConfigManager.GetConfigData(ConfigName.ChangingForce,IncarnationManager.incarnationForceLv).Level
 | 
						|
    for i = 1,8 do
 | 
						|
        self.upLayoutItemList[i].lv.gameObject:SetActive(curLevel<tonumber(limits[i]))
 | 
						|
    end
 | 
						|
end
 | 
						|
function IncarnationPanel:AddListener()
 | 
						|
    Game.GlobalEvent:AddEvent(GameEvent.CommonEvent.RefreshIncarnationPanel,function()
 | 
						|
        self:RefreshUpList()
 | 
						|
        self:RefreshList(true,true)
 | 
						|
    end)
 | 
						|
    Game.GlobalEvent:AddEvent(GameEvent.CommonEvent.RefreshIncarnationPanelUp,function() 
 | 
						|
        self:RefreshUpLimitLevel()
 | 
						|
    end)
 | 
						|
end
 | 
						|
 | 
						|
function IncarnationPanel:RemoveListener()
 | 
						|
    Game.GlobalEvent:RemoveEvent(GameEvent.CommonEvent.RefreshIncarnationPanel,function()
 | 
						|
        self:RefreshUpList()
 | 
						|
        self:RefreshList(true,true)
 | 
						|
    end)
 | 
						|
    Game.GlobalEvent:RemoveEvent(GameEvent.CommonEvent.RefreshIncarnationPanelUp,function() 
 | 
						|
        self:RefreshUpLimitLevel() 
 | 
						|
    end)
 | 
						|
end
 | 
						|
 | 
						|
function IncarnationPanel:OnOpen(_proId)
 | 
						|
    proId = _proId or 1
 | 
						|
    CheckRedPointStatus(RedPointType.incarnation_force)
 | 
						|
end
 | 
						|
 | 
						|
function IncarnationPanel:OnShow()
 | 
						|
    self.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.Main })
 | 
						|
    self:RefreshUpList()
 | 
						|
    self:SetSelectBtn()
 | 
						|
    self:RefreshList(false,false)
 | 
						|
    
 | 
						|
end
 | 
						|
 | 
						|
function IncarnationPanel:RefreshUpList()
 | 
						|
    self.upLayoutData = IncarnationManager.GetIncarnationData1()
 | 
						|
    for i = 1,8 do
 | 
						|
        self.upLayoutItemList[i].pos.gameObject:SetActive(false)
 | 
						|
        self.upLayoutItemList[i].btn.gameObject:SetActive(false)
 | 
						|
        self.upLayoutItemList[i].lv.gameObject:SetActive(curLevel<tonumber(limits[i]))
 | 
						|
        --local xiuxian=ConfigManager.GetConfigData(ConfigName.XiuXianConfig,tonumber(limits[i]))
 | 
						|
        if xiuxian then
 | 
						|
            self.upLayoutItemList[i].lv.text=xiuxian[tonumber(limits[i])].RealmName.."期解锁"
 | 
						|
        end
 | 
						|
        
 | 
						|
    end
 | 
						|
    for k,v in pairs(self.upLayoutData) do
 | 
						|
        self:RefreshSingleCardPre(self.upLayoutItemList[k].pos,v,false,k)
 | 
						|
        self.upLayoutItemList[k].btn.gameObject:SetActive(true)
 | 
						|
    end
 | 
						|
end
 | 
						|
 | 
						|
 | 
						|
function IncarnationPanel:RefreshSingleCardPre(cardPre,data,isJump,index)
 | 
						|
    if not self.cardList[cardPre] then
 | 
						|
        self.cardList[cardPre] = {}
 | 
						|
        self.cardList[cardPre].bg = Util.GetGameObject(cardPre,"Hero/Bg1"):GetComponent("Image")
 | 
						|
        self.cardList[cardPre].icon = Util.GetGameObject(cardPre,"Hero/Mask/icon"):GetComponent("RawImage")
 | 
						|
        self.cardList[cardPre].cardBg = Util.GetGameObject(cardPre,"Hero/Bg2"):GetComponent("Image")
 | 
						|
        self.cardList[cardPre].proImage = Util.GetGameObject(cardPre,"Hero/Pro/Image"):GetComponent("Image")
 | 
						|
        self.cardList[cardPre].getBtn = Util.GetGameObject(cardPre,"getBtn")
 | 
						|
        self.cardList[cardPre].StarGrid = Util.GetGameObject(cardPre,"StarGrid")
 | 
						|
        self.cardList[cardPre].lv = Util.GetGameObject(cardPre,"lv/Text"):GetComponent("Text")
 | 
						|
    end
 | 
						|
    if data then
 | 
						|
        cardPre.gameObject:SetActive(true)
 | 
						|
        if data.state < 0 or not isJump then
 | 
						|
            self.cardList[cardPre].getBtn.gameObject:SetActive(true)
 | 
						|
        else
 | 
						|
            self.cardList[cardPre].getBtn.gameObject:SetActive(false)
 | 
						|
        end
 | 
						|
        self.cardList[cardPre].bg.sprite = self.spLoader:LoadSprite(GetIncarnationHeroCardStarBg[data.quality])
 | 
						|
 | 
						|
        local liveName = GetResourcePath(heroConfig[data.heroId].Live)
 | 
						|
        local roleConfig = ConfigManager.GetConfigData(ConfigName.RoleConfig, data.heroId)
 | 
						|
        local scale = roleConfig.play_liveScale
 | 
						|
        local livePos = Vector3.New(roleConfig.offset[1], roleConfig.offset[2], 0) 
 | 
						|
        if not isJump then
 | 
						|
            self.cardList[cardPre].icon.texture = CardRendererManager.GetSpineTexture(index, liveName, Vector3.one * scale, livePos, true) 
 | 
						|
        else
 | 
						|
            self.cardList[cardPre].icon.texture = CardRendererManager.GetSpineTexture((index%4 == 0 and 7 or index%4 + 3), liveName, Vector3.one * scale, livePos, true) 
 | 
						|
        end
 | 
						|
        self.cardList[cardPre].icon.transform.localScale = Vector3.one
 | 
						|
        self.cardList[cardPre].icon.transform.localPosition = Vector3.zero
 | 
						|
        SetHEeroLiveToward(self.cardList[cardPre].icon.gameObject,heroConfig[data.heroId].Toward)
 | 
						|
        self.cardList[cardPre].proImage.sprite = self.spLoader:LoadSprite(GetProStrImageByProNum(data.property))
 | 
						|
        self.cardList[cardPre].cardBg.sprite = self.spLoader:LoadSprite(GetHeroCardStarFg[data.quality])
 | 
						|
        if isJump then
 | 
						|
            Util.AddOnceClick(self.cardList[cardPre].getBtn,function()
 | 
						|
                UIManager.OpenPanel(UIName.RewardTailsmanChipShowPopup, data.itemId)
 | 
						|
            end)
 | 
						|
        end
 | 
						|
        SetCardStars(self.cardList[cardPre].StarGrid,data.star,1)
 | 
						|
        -- for i = 0, 8 do
 | 
						|
        --     if i<data.star then
 | 
						|
        --         self.cardList[cardPre].StarGrid.transform:GetChild(i).gameObject:SetActive(true)
 | 
						|
        --     else
 | 
						|
        --         self.cardList[cardPre].StarGrid.transform:GetChild(i).gameObject:SetActive(false)
 | 
						|
        --     end
 | 
						|
        -- end    
 | 
						|
        self.cardList[cardPre].lv.text=data.level
 | 
						|
    else
 | 
						|
        cardPre.gameObject:SetActive(false)
 | 
						|
    end
 | 
						|
end
 | 
						|
 | 
						|
function IncarnationPanel:RefreshList(istop,isAnim)
 | 
						|
    self.datas = IncarnationManager.GetItemDataListByPro(proId)
 | 
						|
    self.scroll:ForeachItemGO(function(index,go) 
 | 
						|
        go.gameObject:SetActive(false)
 | 
						|
    end)
 | 
						|
    if not self.datas or #self.datas < 1 then
 | 
						|
        self.empty.gameObject:SetActive(true)
 | 
						|
        self.scroll.gameObject:SetActive(false)
 | 
						|
    else
 | 
						|
        self.empty.gameObject:SetActive(false)
 | 
						|
        self.scroll.gameObject:SetActive(true)
 | 
						|
        self.scroll:SetData(self.datas,function(index,go) 
 | 
						|
            self:SetSingleData(go,self.datas[index],index)
 | 
						|
        end,istop,isAnim)
 | 
						|
    end
 | 
						|
end
 | 
						|
 | 
						|
function IncarnationPanel:SetSingleData(go,data,index)
 | 
						|
    if not self.itemPreList[go] then
 | 
						|
        self.itemPreList[go] = {}
 | 
						|
        self.itemPreList[go].preList = {}
 | 
						|
        self.itemPreList[go].obj = Util.GetGameObject(go,"bg")
 | 
						|
        self.itemPreList[go].bg = Util.GetGameObject(self.itemPreList[go].obj,"bgdi"):GetComponent("Image")
 | 
						|
        self.itemPreList[go].cardPre = Util.GetGameObject(self.itemPreList[go].obj,"cardPre")     
 | 
						|
        self.itemPreList[go].nameText = Util.GetGameObject(self.itemPreList[go].obj,"nameDi/nameText"):GetComponent("Text")
 | 
						|
        self.itemPreList[go].nameText1 = Util.GetGameObject(self.itemPreList[go].obj,"nameDi/nameText1"):GetComponent("Text")
 | 
						|
        self.itemPreList[go].skillLayout = Util.GetGameObject(self.itemPreList[go].obj,"skillLayout")
 | 
						|
        self.itemPreList[go].proGrid = Util.GetGameObject(self.itemPreList[go].skillLayout,"proScrolllRect/proScroll")
 | 
						|
        self.itemPreList[go].pro = Util.GetGameObject(self.itemPreList[go].skillLayout,"pro")
 | 
						|
        self.itemPreList[go].red = Util.GetGameObject(self.itemPreList[go].obj,"red")
 | 
						|
        self.itemPreList[go].unGetBtn = Util.GetGameObject(self.itemPreList[go].obj,"unGetBtn")
 | 
						|
        self.itemPreList[go].activableBtn = Util.GetGameObject(self.itemPreList[go].obj,"activableBtn")
 | 
						|
        self.itemPreList[go].incarnationBtn = Util.GetGameObject(self.itemPreList[go].obj,"incarnationBtn")
 | 
						|
        self.itemPreList[go].incarnationningBtn = Util.GetGameObject(self.itemPreList[go].obj,"incarnationningBtn")
 | 
						|
        self.itemPreList[go].upLvBtn = Util.GetGameObject(self.itemPreList[go].obj,"upLvBtn")
 | 
						|
        self.itemPreList[go].upLvRed = Util.GetGameObject(self.itemPreList[go].obj,"upLvBtn/red")
 | 
						|
        self.itemPreList[go].upStarBtn = Util.GetGameObject(self.itemPreList[go].obj,"upStarBtn")
 | 
						|
        self.itemPreList[go].upStarRed = Util.GetGameObject(self.itemPreList[go].obj,"upStarBtn/red")
 | 
						|
        self.itemPreList[go].helpBtn = Util.GetGameObject(self.itemPreList[go].obj,"helpBtn")
 | 
						|
    end
 | 
						|
    self.itemPreList[go].unGetBtn.gameObject:SetActive(false)
 | 
						|
    self.itemPreList[go].activableBtn.gameObject:SetActive(false)
 | 
						|
    self.itemPreList[go].incarnationBtn.gameObject:SetActive(false)
 | 
						|
    self.itemPreList[go].incarnationningBtn.gameObject:SetActive(false)
 | 
						|
    self.itemPreList[go].upLvBtn.gameObject:SetActive(false)
 | 
						|
    self.itemPreList[go].upStarBtn.gameObject:SetActive(false)
 | 
						|
 | 
						|
    self.itemPreList[go].data = data
 | 
						|
    if not data then
 | 
						|
        go.gameObject:SetActive(false)
 | 
						|
        return 
 | 
						|
    end
 | 
						|
    go.gameObject:SetActive(true)
 | 
						|
    self.itemPreList[go].bg.sprite = self.spLoader:LoadSprite(GetIncarnationDiImage[data.quality])
 | 
						|
    self.itemPreList[go].nameText.text = string.format("<color=#%s>%s</color>",GetIncarnationNameColor[data.quality], data.name)
 | 
						|
    if data.quality == 7 then       
 | 
						|
        self.itemPreList[go].nameText1.gameObject:SetActive(true)
 | 
						|
        self.itemPreList[go].nameText1.text = data.name
 | 
						|
    else
 | 
						|
        self.itemPreList[go].nameText1.gameObject:SetActive(false)
 | 
						|
    end
 | 
						|
    self.itemPreList[go].red.gameObject:SetActive(data.state == 0)
 | 
						|
    self.itemPreList[go].upLvRed.gameObject:SetActive(IncarnationManager.CheckCardUpLvRedData(data.id))
 | 
						|
    self.itemPreList[go].upStarRed.gameObject:SetActive(IncarnationManager.CheckCardUpStarRedData(data.id))
 | 
						|
    self:RefreshSingleCardPre(self.itemPreList[go].cardPre,data,true,index)
 | 
						|
    self:SetProList(IncarnationManager.GetCardPropDesStr(data.id),self.itemPreList[go].preList,self.itemPreList[go].proGrid,self.itemPreList[go].pro.gameObject)   
 | 
						|
    Util.AddOnceClick(self.itemPreList[go].activableBtn,function()
 | 
						|
        if data.state == 0 then
 | 
						|
            NetManager.UpOrDownTransformationRequest(data.id,0,1,function() 
 | 
						|
                data.state = 1
 | 
						|
                self:SetSingleData(go,data,index)
 | 
						|
                PopupTipPanel.ShowTip(string.format("成功激活%s",data.name))
 | 
						|
                CheckRedPointStatus(RedPointType.incarnation_force)
 | 
						|
            end)
 | 
						|
        else
 | 
						|
            PopupTipPanel.ShowTip(string.format("成功激活%s",data.name))
 | 
						|
        end
 | 
						|
    end)
 | 
						|
    Util.AddOnceClick(self.itemPreList[go].incarnationBtn,function()
 | 
						|
        if data.state == 1 then
 | 
						|
            local pos = 0
 | 
						|
            for i = 1,8 do
 | 
						|
                if self.upLayoutData[i] and self.upLayoutData[i].id then
 | 
						|
                else
 | 
						|
                    pos = i
 | 
						|
                    break
 | 
						|
                end
 | 
						|
            end
 | 
						|
            
 | 
						|
            if curLevel<tonumber(limits[pos]) then
 | 
						|
                PopupTipPanel.ShowTip(xiuxian[tonumber(limits[pos])].RealmName.."期解锁")
 | 
						|
                return
 | 
						|
            end
 | 
						|
            if pos > 0 then
 | 
						|
                NetManager.UpOrDownTransformationRequest(data.id,pos,2,function() 
 | 
						|
                    data.state = 2
 | 
						|
                    data.pos = pos
 | 
						|
                    self:SetSingleData(go,data,index)
 | 
						|
                    self.upLayoutData[pos] = data
 | 
						|
                    self:RefreshSingleCardPre(self.upLayoutItemList[pos].pos,data,false,pos)
 | 
						|
                    self.upLayoutItemList[pos].btn.gameObject:SetActive(true)
 | 
						|
                    PopupTipPanel.ShowTip("化身成功!")
 | 
						|
                end)
 | 
						|
            else
 | 
						|
                PopupTipPanel.ShowTip("身外化身位置已达上限,请卸下需要替换的化身!")
 | 
						|
            end 
 | 
						|
        else
 | 
						|
            PopupTipPanel.ShowTip("化身成功!")
 | 
						|
        end        
 | 
						|
    end)
 | 
						|
 | 
						|
    Util.AddOnceClick(self.itemPreList[go].incarnationningBtn,function()
 | 
						|
        if data.state == 2 then
 | 
						|
            NetManager.UpOrDownTransformationRequest(data.id,data.pos,1,function() 
 | 
						|
                local oldPos = data.pos
 | 
						|
                data.state = 1
 | 
						|
                data.pos = 0
 | 
						|
                self:SetSingleData(go,data,index)
 | 
						|
                self.upLayoutData[oldPos] = nil
 | 
						|
                self:RefreshSingleCardPre(self.upLayoutItemList[oldPos].pos,nil,false,oldPos)
 | 
						|
                self.upLayoutItemList[oldPos].btn.gameObject:SetActive(false)
 | 
						|
                PopupTipPanel.ShowTip("成功卸下身外化身!")
 | 
						|
                end)
 | 
						|
            end
 | 
						|
        end)
 | 
						|
 | 
						|
 | 
						|
 | 
						|
    Util.AddOnceClick(self.itemPreList[go].upLvBtn,function()
 | 
						|
        UIManager.OpenPanel(UIName.IncarnationUpPopup,1,data.id)
 | 
						|
    end)
 | 
						|
 | 
						|
    Util.AddOnceClick(self.itemPreList[go].upStarBtn,function()
 | 
						|
        UIManager.OpenPanel(UIName.IncarnationUpPopup,2,data.id)
 | 
						|
    end)
 | 
						|
 | 
						|
    Util.AddOnceClick(self.itemPreList[go].helpBtn,function()
 | 
						|
        UIManager.OpenPanel(UIName.IncarnationUpHelpPopup,data.id)
 | 
						|
    end)
 | 
						|
 | 
						|
    if data.state == -1 then
 | 
						|
        self.itemPreList[go].unGetBtn.gameObject:SetActive(true)
 | 
						|
    elseif data.state == 0 then
 | 
						|
        self.itemPreList[go].activableBtn.gameObject:SetActive(true)
 | 
						|
    elseif data.state == 1 then
 | 
						|
        self.itemPreList[go].incarnationBtn.gameObject:SetActive(true)
 | 
						|
        self.itemPreList[go].upLvBtn.gameObject:SetActive(true)
 | 
						|
        self.itemPreList[go].upStarBtn.gameObject:SetActive(true)
 | 
						|
    elseif data.state == 2 then
 | 
						|
        self.itemPreList[go].incarnationningBtn.gameObject:SetActive(true)
 | 
						|
        self.itemPreList[go].upLvBtn.gameObject:SetActive(true)
 | 
						|
        self.itemPreList[go].upStarBtn.gameObject:SetActive(true)
 | 
						|
    end
 | 
						|
end
 | 
						|
 | 
						|
function IncarnationPanel:SetProList(data,preList,grid,pre)
 | 
						|
    for i = 1,math.max(#data,#preList) do
 | 
						|
        if not data[i] then
 | 
						|
            preList[i].go.gameObject:SetActive(false)
 | 
						|
        else
 | 
						|
            if not preList[i] then
 | 
						|
                preList[i] = {}
 | 
						|
                preList[i].go = newObjToParent(pre,grid)
 | 
						|
                preList[i].goText = preList[i].go:GetComponent("Text")
 | 
						|
            end
 | 
						|
            preList[i].go.gameObject:SetActive(true)
 | 
						|
            preList[i].goText.text = data[i]
 | 
						|
        end
 | 
						|
    end
 | 
						|
    ForceRebuildLayout(grid.transform)
 | 
						|
end
 | 
						|
 | 
						|
function IncarnationPanel:OnSortingOrderChange()
 | 
						|
end
 | 
						|
 | 
						|
function IncarnationPanel:OnClose()
 | 
						|
end
 | 
						|
 | 
						|
function IncarnationPanel:OnDestroy()
 | 
						|
    self.spLoader:Destroy()
 | 
						|
    self.upLayoutItemList = {}
 | 
						|
    self.itemPreList = {}
 | 
						|
    self.cardList = {}
 | 
						|
    ClearRedPointObject(RedPointType.incarnation_people,tabsRedpoints[1].gameObject)
 | 
						|
    ClearRedPointObject(RedPointType.incarnation_buddish,tabsRedpoints[2].gameObject)
 | 
						|
    ClearRedPointObject(RedPointType.incarnation_demon,tabsRedpoints[3].gameObject)
 | 
						|
    ClearRedPointObject(RedPointType.incarnation_taoist,tabsRedpoints[4].gameObject)
 | 
						|
    ClearRedPointObject(RedPointType.incarnation_force,self.powerBtnRedPoint.gameObject)
 | 
						|
    SubUIManager.Close(self.UpView)
 | 
						|
end
 | 
						|
 | 
						|
return IncarnationPanel |