549 lines
21 KiB
Lua
549 lines
21 KiB
Lua
require("Base/BasePanel")
|
|
HeroLikeAbilityPanel = Inherit(BasePanel)
|
|
local beginV3
|
|
local endV3
|
|
local distance
|
|
local curHeroData,curHeroPosition,herosDatas,leftHeroData,rightHeroData
|
|
local curindex,lastindex,nextindex = 0,0,0
|
|
local t = 5
|
|
local curselectId = 0
|
|
local oldLv = -1
|
|
function HeroLikeAbilityPanel:InitComponent()
|
|
self.spLoader = SpriteLoader.New()
|
|
self.btnBack = Util.GetGameObject(self.transform, "btnBack")
|
|
self.curObj= Util.GetGameObject(self.transform, "curObj")
|
|
self.leftObj= Util.GetGameObject(self.transform, "leftObj")
|
|
self.rightObj= Util.GetGameObject(self.transform, "rightObj")
|
|
self.curLiveObj = nil
|
|
self.leftLiveObj = nil
|
|
self.rightLiveObj = nil
|
|
|
|
self.leftBtn = Util.GetGameObject(self.transform, "leftBtn/GameObject")
|
|
self.rightBtn = Util.GetGameObject(self.transform, "rightBtn/GameObject")
|
|
|
|
self.dragView = SubUIManager.Open(SubUIConfig.DragView, self.gameObject.transform)
|
|
self.dragView.transform:SetSiblingIndex(1)
|
|
self.trigger=Util.GetEventTriggerListener(self.dragView.gameObject)
|
|
self.OnBeginDrag = function(Pointgo, data)
|
|
beginV3 = self.curLiveObj.transform.anchoredPosition
|
|
end
|
|
self.OnDrag = function(Pointgo, data)
|
|
distance = Vector2.Distance(beginV3,self.curLiveObj.transform.anchoredPosition)
|
|
end
|
|
self.OnEndDrag = function(Pointgo, data)
|
|
endV3 = self.curLiveObj.transform.anchoredPosition
|
|
if distance>250 and endV3.x<0 then
|
|
self:RightBtnOnClick()
|
|
elseif distance>250 and endV3.x>0 then
|
|
self:LeftBtnOnClick()
|
|
else
|
|
local pos = curHeroData.Position
|
|
self.curLiveObj:GetComponent("RectTransform"):DOAnchorPos(Vector2.New(pos[1], pos[2]), 0.5, false):SetEase(Ease.Linear)
|
|
end
|
|
distance=0
|
|
end
|
|
self.trigger.onBeginDrag = self.trigger.onBeginDrag + self.OnBeginDrag
|
|
self.trigger.onDrag = self.trigger.onDrag + self.OnDrag
|
|
self.trigger.onEndDrag = self.trigger.onEndDrag + self.OnEndDrag
|
|
|
|
self.pos = Util.GetGameObject(self.transform, "Pos/PosImage"):GetComponent("Image")
|
|
self.name = Util.GetGameObject(self.transform, "Pos/PosText"):GetComponent("Text")
|
|
|
|
self.icon = Util.GetGameObject(self.transform, "likeability/icon"):GetComponent("Image")
|
|
self.effect = Util.GetGameObject(self.icon.transform, "fx_haogandu_shengjitexiao")
|
|
self.effect.gameObject:SetActive(false)
|
|
self.lvText = Util.GetGameObject(self.icon.transform, "lv"):GetComponent("Text")
|
|
self.progress = Util.GetGameObject(self.transform, "likeability/di/progress"):GetComponent("Image")
|
|
self.progressText = Util.GetGameObject(self.transform, "likeability/progressText"):GetComponent("Text")
|
|
self.lookBtn = Util.GetGameObject(self.transform, "likeability/lookBtn")
|
|
|
|
self.grid = Util.GetGameObject(self.transform, "gift/scroll/grid")
|
|
self.itemPre = Util.GetGameObject(self.transform, "gift/itemPre")
|
|
self.select = Util.GetGameObject(self.transform, "gift/select")
|
|
self.remainTimes = Util.GetGameObject(self.transform, "remainTimes"):GetComponent("Text")
|
|
self.remainTimes.gameObject:SetActive(false)
|
|
self.giveBtn = Util.GetGameObject(self.transform, "giveBtn")
|
|
self.trigger = Util.GetEventTriggerListener(self.giveBtn)
|
|
self.popup = Util.GetGameObject(self.giveBtn, "Image")
|
|
self.popupText = Util.GetGameObject(self.popup, "Text"):GetComponent("Text")
|
|
|
|
self.OnPointerDo = function(go, data)
|
|
self:OnPointerDown1(go, data)
|
|
end
|
|
self.OnPointerUp = function(go, data)
|
|
self:OnPointerUp1(go,data)
|
|
end
|
|
self.trigger.onPointerDown = self.trigger.onPointerDown + self.OnPointerDo
|
|
self.trigger.onPointerUp = self.trigger.onPointerUp + self.OnPointerUp
|
|
FixedUpdateBeat:Add(self.OnUpdate, self)--长按方法注册
|
|
self.itemList = {}
|
|
self.itemListNum = {}
|
|
|
|
self.proGrid2Pos = self.grid:GetComponent("RectTransform").anchoredPosition
|
|
end
|
|
|
|
function HeroLikeAbilityPanel:BindEvent()
|
|
Util.AddClick(self.dragView.gameObject, function()
|
|
local SkeletonGraphic = self.curLiveObj:GetComponent("SkeletonGraphic")
|
|
SkeletonGraphic.AnimationState:SetAnimation(0, "touch", false)
|
|
end)
|
|
|
|
Util.AddClick(self.btnBack, function()
|
|
oldLv = -1
|
|
self:ClosePanel()
|
|
end)
|
|
--左切换按钮
|
|
Util.AddClick(self.leftBtn, function()
|
|
oldLv = -1
|
|
self.effect.gameObject:SetActive(false)
|
|
self:LeftBtnOnClick()
|
|
end)
|
|
|
|
--右切换按钮
|
|
Util.AddClick(self.rightBtn, function()
|
|
oldLv = -1
|
|
self.effect.gameObject:SetActive(false)
|
|
self:RightBtnOnClick()
|
|
end)
|
|
|
|
--查看
|
|
Util.AddClick(self.lookBtn, function()
|
|
UIManager.OpenPanel(UIName.RoleLikeabilityPopup,curHeroData)
|
|
end)
|
|
end
|
|
--添加事件监听(用于子类重写)
|
|
function HeroLikeAbilityPanel:AddListener()
|
|
|
|
end
|
|
|
|
--移除事件监听(用于子类重写)
|
|
function HeroLikeAbilityPanel:RemoveListener()
|
|
|
|
end
|
|
|
|
function HeroLikeAbilityPanel:OnSortingOrderChange()
|
|
Util.SetParticleSortLayer(self.effect,self.sortingOrder + 1)
|
|
end
|
|
|
|
function HeroLikeAbilityPanel:OnOpen(...)
|
|
local args = {...}
|
|
curHeroData = args[1]
|
|
herosDatas = LikabilityManager.heroDatas
|
|
for i = 1,#herosDatas do
|
|
if herosDatas[i].Id == curHeroData.Id then
|
|
curindex = i
|
|
break
|
|
end
|
|
end
|
|
end
|
|
|
|
--界面打开时调用(用于子类重写)
|
|
function HeroLikeAbilityPanel:OnShow()
|
|
if self.curLiveObj then
|
|
poolManager:UnLoadLive(self.curLiveObj.name, self.curLiveObj)
|
|
self.curLiveObj = nil
|
|
end
|
|
if self.leftLiveObj then
|
|
poolManager:UnLoadLive(self.leftLiveObj.name, self.leftLiveObj)
|
|
self.leftLiveObj = nil
|
|
end
|
|
if self.rightLiveObj then
|
|
poolManager:UnLoadLive(self.rightLiveObj.name, self.rightLiveObj)
|
|
self.rightLiveObj = nil
|
|
end
|
|
self:SetHeroLiveData()
|
|
self:UpdateHeroInfoData(0)
|
|
Util.SetParticleSortLayer(self.effect,self.sortingOrder + 1)
|
|
self.effect.gameObject:SetActive(false)
|
|
|
|
if #herosDatas < 2 then
|
|
self.leftBtn.transform.parent.gameObject:SetActive(false)
|
|
self.rightBtn.transform.parent.gameObject:SetActive(false)
|
|
else
|
|
self.leftBtn.transform.parent.gameObject:SetActive(true)
|
|
self.rightBtn.transform.parent.gameObject:SetActive(true)
|
|
end
|
|
end
|
|
|
|
function HeroLikeAbilityPanel:UpdateHeroInfoData(isChange)
|
|
self.value,self.lv,self.totalNum = LikabilityManager.GetTotalHeroLikeLv(curHeroData.Id)
|
|
if oldLv ~= -1 and oldLv ~= self.lv then
|
|
self.effect.gameObject:SetActive(false)
|
|
self.effect.gameObject:SetActive(true)
|
|
end
|
|
oldLv = self.lv
|
|
self.lvText.text = self.lv
|
|
if LikabilityManager.CheckIsMaxLv(curHeroData.Id) then
|
|
self.progress.fillAmount = 1
|
|
self.progressText.text = "好感度最佳"
|
|
else
|
|
self.progress.fillAmount = self.value/self.totalNum
|
|
self.progressText.text = string.format("%s/%s",self.value,self.totalNum)
|
|
end
|
|
|
|
self.remainTimes.text = 0
|
|
self.pos.sprite = self.spLoader:LoadSprite(GetProStrImageByProNum(curHeroData.PropertyName))
|
|
self.name.text = curHeroData.ReadingName
|
|
self:UpdateItemList(isChange)
|
|
end
|
|
|
|
function HeroLikeAbilityPanel:UpdateItemList(isChange)
|
|
if isChange == 0 then
|
|
self.itemListNum = {}
|
|
self.items = LikabilityManager.GetAllItemsData(curHeroData.PropertyName)
|
|
for i = 1,math.max(#self.items,#self.itemList) do
|
|
if not self.items[i] then
|
|
self.itemList[i].data = nil
|
|
self.itemList[i].pre.gameObject:SetActive(false)
|
|
else
|
|
if not self.itemListNum[self.items[i].id] then
|
|
self.itemListNum[self.items[i].id] = self.items[i].num
|
|
end
|
|
if not self.itemList[i] then
|
|
self.itemList[i] = {}
|
|
self.itemList[i].pre = newObjToParent(self.itemPre,self.grid)
|
|
self.itemList[i].pre.name = "itemPre"..i
|
|
self.itemList[i].go = SubUIManager.Open(SubUIConfig.ItemView,self.itemList[i].pre.transform)
|
|
self.itemList[i].go.frameBtn:GetComponent("Button").enabled = false
|
|
end
|
|
self.itemList[i].data = self.items[i]
|
|
self.itemList[i].pre.gameObject:SetActive(true)
|
|
self.itemList[i].go:OnOpen(false,{self.items[i].id,self.items[i].num},1,false,false,false,self.sortingOrder)
|
|
self:SetGray(self.items[i].id,i)
|
|
Util.AddOnceClick(self.itemList[i].pre, function()
|
|
if self.itemListNum[self.itemList[i].data.id] > 0 then
|
|
curselectId = self.itemList[i].data.id
|
|
self:SetSelectKuang(false)
|
|
else
|
|
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup,self.itemList[i].data.id)
|
|
end
|
|
end)
|
|
Util.AddLongPressClick(self.itemList[i].pre, function()
|
|
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup,self.itemList[i].data.id)
|
|
end, 0.5)
|
|
end
|
|
end
|
|
self.grid:GetComponent("RectTransform").anchoredPosition = self.proGrid2Pos
|
|
self:SetcurSelectId()
|
|
else
|
|
self:RefreshTimes()
|
|
end
|
|
end
|
|
|
|
function HeroLikeAbilityPanel:RefreshTimes()
|
|
for i = 1,#self.itemList do
|
|
if self.itemList[i].data.id == curselectId then
|
|
self.itemList[i].go:OnOpen(false,{curselectId,self.itemListNum[curselectId]},1,false,false,false,self.sortingOrder)
|
|
self:SetGray(self.itemList[i].data.id,i)
|
|
break
|
|
end
|
|
end
|
|
end
|
|
|
|
function HeroLikeAbilityPanel:SetGray(id,index)
|
|
if self.itemListNum[id] and self.itemListNum[id] < 1 then
|
|
Util.SetGray(self.itemList[index].pre.gameObject,true)
|
|
else
|
|
Util.SetGray(self.itemList[index].pre.gameObject,false)
|
|
end
|
|
end
|
|
|
|
function HeroLikeAbilityPanel:SetcurSelectId()
|
|
local oldId = curselectId
|
|
curselectId = 0
|
|
for k,v in ipairs(self.items) do
|
|
if (v.property == curHeroData.PropertyName or v.property == 0) and self.itemListNum[v.id] > 0 then
|
|
curselectId = v.id
|
|
break
|
|
end
|
|
end
|
|
self:SetSelectKuang(true)
|
|
end
|
|
|
|
function HeroLikeAbilityPanel:SetSelectKuang(isMove)
|
|
if curselectId < 1 then
|
|
self.select.gameObject:SetActive(false)
|
|
self.popup:SetActive(false)
|
|
else
|
|
if isMove then
|
|
self.grid:GetComponent("RectTransform").anchoredPosition = self.proGrid2Pos
|
|
end
|
|
Util.SetGray(self.select,false)
|
|
self.select.gameObject:SetActive(true)
|
|
for i = 1,#self.itemList do
|
|
if self.itemList[i].data.id == curselectId then
|
|
self.select.transform:SetParent(self.itemList[i].pre.transform)
|
|
break
|
|
end
|
|
end
|
|
self.select.transform.localPosition = Vector3.New(-7.5,3.5)
|
|
self.popup:SetActive(true)
|
|
LogError("curheroData.id=="..curHeroData.Id)
|
|
self.popupText.text = string.format( "好感度+%s",LikabilityManager.GetCurItemValue(curHeroData.Id,curselectId,1))
|
|
end
|
|
end
|
|
|
|
function HeroLikeAbilityPanel:OnPointerDown1(go, data)
|
|
if self.isGiving then
|
|
PopupTipPanel.ShowTip("正在赠送中")
|
|
return
|
|
end
|
|
self.effect.gameObject:SetActive(false)
|
|
self.num = 0
|
|
self.numCount = 0
|
|
if LikabilityManager.CheckIsMaxLv(curHeroData.Id) then
|
|
PopupTipPanel.ShowTip("英雄好感度已达最佳,无需更多赠予~")
|
|
return
|
|
end
|
|
if not curselectId or not self.itemListNum[curselectId] then
|
|
PopupTipPanel.ShowTip("礼物数量不足,无法赠予~")
|
|
return
|
|
end
|
|
if self.itemListNum[curselectId] < 1 then
|
|
PopupTipPanel.ShowTip("礼物数量不足,无法赠予~")
|
|
return
|
|
end
|
|
|
|
self.isPressed = true
|
|
self.isShortPress = true
|
|
self.isGiving = true
|
|
end
|
|
|
|
function HeroLikeAbilityPanel:OnPointerUp1(go, data)
|
|
if self.isPressed then
|
|
self.isPressed = false
|
|
self:Refresh(true)
|
|
end
|
|
end
|
|
|
|
function HeroLikeAbilityPanel:OnUpdate()
|
|
if self.isPressed then
|
|
if self.numCount < t then
|
|
self.isShortPress = true
|
|
else
|
|
self.isShortPress = false
|
|
if self.numCount%t == 0 then
|
|
self:Refresh(false)
|
|
end
|
|
end
|
|
self.numCount = self.numCount + 1
|
|
end
|
|
end
|
|
|
|
function HeroLikeAbilityPanel:Refresh(isSend)
|
|
if isSend then
|
|
self.isPressed = false
|
|
if self.isShortPress then
|
|
self.num = 1
|
|
self.itemListNum[curselectId] = self.itemListNum[curselectId] - 1
|
|
LikabilityManager.UpdatelSingleHeroData(curHeroData.Id,curselectId,1)
|
|
end
|
|
self.isShortPress = false
|
|
self.numCount = 0
|
|
self:RequestDonate(self.num)
|
|
else
|
|
self.num = self.num + 1
|
|
self.itemListNum[curselectId] = self.itemListNum[curselectId] - 1
|
|
LikabilityManager.UpdatelSingleHeroData(curHeroData.Id,curselectId,1)
|
|
self:UpdateHeroInfoData(1)
|
|
if LikabilityManager.CheckIsMaxLv(curHeroData.Id) then
|
|
self.isPressed = false
|
|
self:Refresh(true)
|
|
return
|
|
end
|
|
if self.itemListNum[curselectId] < 1 then
|
|
self.isPressed = false
|
|
PopupTipPanel.ShowTip("礼物数量不足,无法赠予~")
|
|
self:Refresh(true)
|
|
return
|
|
end
|
|
end
|
|
end
|
|
|
|
function HeroLikeAbilityPanel:RequestDonate(num)
|
|
NetManager.HeroUpLikableRequest(curHeroData.Id,curselectId,num,function()
|
|
self:UpdateHeroInfoData(1)
|
|
if self.itemListNum[curselectId] < 1 then
|
|
self:SetcurSelectId()
|
|
end
|
|
self.isGiving = false
|
|
local SkeletonGraphic = self.curLiveObj:GetComponent("SkeletonGraphic")
|
|
SkeletonGraphic.AnimationState:SetAnimation(0, "touch", false)
|
|
CheckRedPointStatus(RedPointType.LikeabilityRed)
|
|
end)
|
|
end
|
|
|
|
function HeroLikeAbilityPanel:SetHeroLiveData()
|
|
if curindex <= 1 then
|
|
lastindex = #herosDatas
|
|
else
|
|
lastindex = curindex - 1
|
|
end
|
|
leftHeroData = herosDatas[lastindex]
|
|
if curindex >= #herosDatas then
|
|
nextindex = 1
|
|
else
|
|
nextindex = curindex + 1
|
|
end
|
|
rightHeroData = herosDatas[nextindex]
|
|
--加载当前英雄的立绘
|
|
self.leftLiveObj = self:LoadHerolive1(leftHeroData,self.leftObj)
|
|
self.rightLiveObj = self:LoadHerolive1(rightHeroData,self.rightObj)
|
|
self.curLiveObj = self:LoadHerolive1(curHeroData,self.curObj)
|
|
if self.curLiveObj then
|
|
self.dragView.gameObject:SetActive(true)
|
|
self.dragView:SetDragGO(self.curLiveObj)
|
|
else
|
|
self.dragView.gameObject:SetActive(false)
|
|
end
|
|
end
|
|
|
|
function HeroLikeAbilityPanel:LoadHerolive1(_heroData, _objPoint)
|
|
--TODO:动态加载立绘
|
|
local icon = GetResourcePath(_heroData.Live)
|
|
local testLive = poolManager:LoadLive(GetResourcePath(_heroData.Live), _objPoint.transform,
|
|
Vector3.one * _heroData.Scale, Vector3.New(_heroData.Position[1], _heroData.Position[2], 0))
|
|
SetHEeroLiveToward(testLive,_heroData.Toward)
|
|
local SkeletonGraphic = testLive:GetComponent("SkeletonGraphic")
|
|
local idle = function() SkeletonGraphic.AnimationState:SetAnimation(0, "idle", true) end
|
|
SkeletonGraphic.AnimationState.Complete = SkeletonGraphic.AnimationState.Complete + idle
|
|
poolManager:SetLiveClearCall(_heroData.Live, testLive, function ()
|
|
SkeletonGraphic.AnimationState.Complete = SkeletonGraphic.AnimationState.Complete - idle
|
|
end)
|
|
return testLive
|
|
end
|
|
|
|
--右切换按钮点击
|
|
function HeroLikeAbilityPanel:RightBtnOnClick()
|
|
curselectId = 0
|
|
-- 英雄长按赠送时不再进行切换操作
|
|
if self.isGiving then
|
|
return
|
|
end
|
|
if self.isRightOrLeft == false then
|
|
return
|
|
end
|
|
self.isRightOrLeft = false
|
|
if self.leftLiveObj then
|
|
poolManager:UnLoadLive(self.leftLiveObj.name, self.leftLiveObj)
|
|
self.leftLiveObj = nil
|
|
end
|
|
self.curLiveObj.transform:SetParent(self.leftObj.transform)
|
|
self.curLiveObj:GetComponent("SkeletonGraphic"):DOFade(0, 0.2)
|
|
self.curLiveObj:GetComponent("RectTransform"):DOAnchorPos(Vector2.New(curHeroData.Position[1],curHeroData.Position[2]), 0.5, false):SetEase(Ease.Linear)
|
|
self.rightLiveObj.transform:SetParent(self.curObj.transform)
|
|
self.rightLiveObj:GetComponent("RectTransform").anchoredPosition = Vector2.New(rightHeroData.Position[1]+200,rightHeroData.Position[2])
|
|
self.rightLiveObj:GetComponent("SkeletonGraphic"):DOFade(0, 0)
|
|
self.rightLiveObj:GetComponent("SkeletonGraphic"):DOFade(1, 0.3):SetDelay(0.2)
|
|
self.rightLiveObj:GetComponent("RectTransform"):DOAnchorPos(Vector2.New(rightHeroData.Position[1],rightHeroData.Position[2]), 0.3, false):SetDelay(0.2):OnComplete(function ()
|
|
lastindex = curindex
|
|
leftHeroData = herosDatas[lastindex]
|
|
curindex = nextindex
|
|
curHeroData = herosDatas[curindex]
|
|
if curindex >= #herosDatas then
|
|
nextindex = 1
|
|
else
|
|
nextindex = curindex + 1
|
|
end
|
|
rightHeroData = herosDatas[nextindex]
|
|
|
|
self.leftLiveObj = self.curLiveObj
|
|
self.curLiveObj = self.rightLiveObj
|
|
self.rightLiveObj = HeroManager.LoadHerolive1(rightHeroData,self.rightObj)
|
|
SetHEeroLiveToward(self.rightLiveObj,rightHeroData.Toward)
|
|
local SkeletonGraphic = self.curLiveObj:GetComponent("SkeletonGraphic")
|
|
SkeletonGraphic.AnimationState:SetAnimation(0, "touch", false)
|
|
if self.curLiveObj then
|
|
self.dragView.gameObject:SetActive(true)
|
|
self.dragView:SetDragGO(self.curLiveObj)
|
|
else
|
|
self.dragView.gameObject:SetActive(false)
|
|
end
|
|
self:UpdateHeroInfoData(0)
|
|
self.isRightOrLeft = true
|
|
end):SetEase(Ease.Linear)
|
|
--self:SetPanelBg(curHeroData.heroConfig)
|
|
end
|
|
|
|
--左切换按钮点击
|
|
function HeroLikeAbilityPanel:LeftBtnOnClick()
|
|
curselectId = 0
|
|
-- 英雄长按赠送时不再进行切换操作
|
|
if self.isGiving then
|
|
return
|
|
end
|
|
if self.isRightOrLeft == false then
|
|
return
|
|
end
|
|
self.isRightOrLeft = false
|
|
|
|
|
|
if self.rightLiveObj then
|
|
poolManager:UnLoadLive(self.rightLiveObj.name, self.rightLiveObj)
|
|
self.rightLiveObj = nil
|
|
end
|
|
self.curLiveObj.transform:SetParent(self.rightObj.transform)
|
|
self.curLiveObj:GetComponent("SkeletonGraphic"):DOFade(0, 0.2)
|
|
self.curLiveObj:GetComponent("RectTransform"):DOAnchorPos(Vector2.New(curHeroData.Position[1],curHeroData.Position[2]), 0.5, false):SetEase(Ease.Linear)
|
|
self.leftLiveObj.transform:SetParent(self.curObj.transform)
|
|
self.leftLiveObj:GetComponent("RectTransform").anchoredPosition = Vector2.New(leftHeroData.Position[1]-200,leftHeroData.Position[2])
|
|
self.leftLiveObj:GetComponent("SkeletonGraphic"):DOFade(0, 0)
|
|
self.leftLiveObj:GetComponent("SkeletonGraphic"):DOFade(1, 0.3):SetDelay(0.2)
|
|
self.leftLiveObj:GetComponent("RectTransform"):DOAnchorPos(Vector2.New(leftHeroData.Position[1],leftHeroData.Position[2]), 0.3, false):SetDelay(0.2):OnComplete(function ()
|
|
nextindex = curindex
|
|
rightHeroData = herosDatas[nextindex]
|
|
curindex = lastindex
|
|
curHeroData = herosDatas[curindex]
|
|
if curindex <= 1 then
|
|
lastindex = #herosDatas
|
|
else
|
|
lastindex = curindex - 1
|
|
end
|
|
leftHeroData = herosDatas[lastindex]
|
|
|
|
self.rightLiveObj = self.curLiveObj
|
|
self.curLiveObj = self.leftLiveObj
|
|
self.leftLiveObj = HeroManager.LoadHerolive1(leftHeroData,self.leftObj)
|
|
SetHEeroLiveToward(self.leftLiveObj,rightHeroData.Toward)
|
|
local SkeletonGraphic = self.curLiveObj:GetComponent("SkeletonGraphic")
|
|
SkeletonGraphic.AnimationState:SetAnimation(0, "touch", false)
|
|
if self.curLiveObj then
|
|
self.dragView.gameObject:SetActive(true)
|
|
self.dragView:SetDragGO(self.curLiveObj)
|
|
else
|
|
self.dragView.gameObject:SetActive(false)
|
|
end
|
|
self:UpdateHeroInfoData(0)
|
|
self.isRightOrLeft = true
|
|
end):SetEase(Ease.Linear)
|
|
--self:SetPanelBg(curHeroData.heroConfig)
|
|
end
|
|
|
|
--界面关闭时调用(用于子类重写)
|
|
function HeroLikeAbilityPanel:OnClose()
|
|
self.effect.gameObject:SetActive(false)
|
|
if self.curLiveObj then
|
|
poolManager:UnLoadLive(self.curLiveObj.name, self.curLiveObj)
|
|
self.curLiveObj = nil
|
|
end
|
|
if self.leftLiveObj then
|
|
poolManager:UnLoadLive(self.leftLiveObj.name, self.leftLiveObj)
|
|
self.leftLiveObj = nil
|
|
end
|
|
if self.rightLiveObj then
|
|
poolManager:UnLoadLive(self.rightLiveObj.name, self.rightLiveObj)
|
|
self.rightLiveObj = nil
|
|
end
|
|
curselectId = 0
|
|
end
|
|
|
|
--界面销毁时调用(用于子类重写)
|
|
function HeroLikeAbilityPanel:OnDestroy()
|
|
FixedUpdateBeat:Remove(self.OnUpdate, self)
|
|
self.itemListNum = {}
|
|
self.itemList = {}
|
|
|
|
--self.grid:GetComponent("RectTransform").anchoredPosition = self.proGrid2Pos
|
|
end
|
|
|
|
return HeroLikeAbilityPanel |