选择界面表现
This commit is contained in:
parent
d2d1dd612e
commit
68575924be
@ -133,6 +133,10 @@ end
|
||||
function ActPvpManager:rspDecideHero(result)
|
||||
if result.err_code == GConst.ERROR_STR.SUCCESS then
|
||||
DataManager.ActPvpData:updateHerosInfo(result.heroes, result.pair_id, result.next_select_four_id)
|
||||
if not result.reqData then
|
||||
result.reqData = {index = 0}
|
||||
end
|
||||
EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.ACT_PVP_EVENT, {selectIndex = result.reqData.index})
|
||||
end
|
||||
end
|
||||
|
||||
@ -158,6 +162,7 @@ function ActPvpManager:reqRefreshHero()
|
||||
end,
|
||||
}
|
||||
GFunc.showMessageBox(params)
|
||||
return
|
||||
end
|
||||
self:sendMessage(ProtoMsgType.FromMsgEnum.ActivityPVPFlushHeroesReq, {}, {}, self.rspRefreshHero, BIReport.ITEM_GET_TYPE.ACT_PVP_REFRESH_HERO)
|
||||
end
|
||||
|
||||
@ -21,10 +21,16 @@ function ActPvpSelectUI:getPrefabPath()
|
||||
return "assets/prefabs/ui/activity/act_pvp/act_pvp_select_ui.prefab"
|
||||
end
|
||||
|
||||
function ActPvpSelectUI:onClose()
|
||||
if self.aniSeq then
|
||||
self.aniSeq:Kill()
|
||||
self.aniSeq = nil
|
||||
end
|
||||
end
|
||||
|
||||
function ActPvpSelectUI:onLoadRootComplete()
|
||||
self:_display()
|
||||
self:_addListeners()
|
||||
self:_bind()
|
||||
end
|
||||
|
||||
function ActPvpSelectUI:_display()
|
||||
@ -106,11 +112,57 @@ function ActPvpSelectUI:_addListeners()
|
||||
uiMap["act_pvp_select_ui.bg.hero_cell_2.select_btn"]:addClickListener(function()
|
||||
ModuleManager.ActPvpManager:reqDecideHero(1)
|
||||
end)
|
||||
|
||||
self:addEventListener(EventManager.CUSTOM_EVENT.ACT_PVP_EVENT, function(params)
|
||||
if params and params.selectIndex then
|
||||
if not self.heroEntities or not self.bigHeroInfos or not self.simpleHeroCells then
|
||||
self:_display()
|
||||
return
|
||||
end
|
||||
local heroEntity
|
||||
local cell
|
||||
local node
|
||||
if params.selectIndex == 0 then -- 左边的
|
||||
heroEntity = self.heroEntities[1]
|
||||
cell = self.bigHeroInfos[1] and self.bigHeroInfos[1].simpleHeroCell
|
||||
node = self.bigHeroInfos[1] and self.bigHeroInfos[1].node
|
||||
if cell then
|
||||
cell:getBaseObject():setAnchoredPosition(-170, 190)
|
||||
end
|
||||
else
|
||||
heroEntity = self.heroEntities[2]
|
||||
cell = self.bigHeroInfos[2] and self.bigHeroInfos[2].simpleHeroCell
|
||||
node = self.bigHeroInfos[2] and self.bigHeroInfos[2].node
|
||||
if cell then
|
||||
cell:getBaseObject():setAnchoredPosition(170, 190)
|
||||
end
|
||||
end
|
||||
if not heroEntity or not cell then
|
||||
self:_display()
|
||||
return
|
||||
end
|
||||
|
||||
function ActPvpSelectUI:_bind()
|
||||
self:bind(DataManager.ActPvpData, "isDirty", function()
|
||||
local target = self.simpleHeroCells[heroEntity:getMatchType()]
|
||||
if not target then
|
||||
self:_display()
|
||||
return
|
||||
end
|
||||
local targetPos = target:getBaseObject():getTransform().position
|
||||
local sPoint = UIManager:getUICameraComponent():WorldToScreenPoint(targetPos)
|
||||
targetPos = CS.BF.Utils.RectTransformScreenPointToLocalPointInRectangle(node:getTransform(), sPoint.x, sPoint.y, UIManager:getUICameraComponent())
|
||||
if self.aniSeq then
|
||||
self.aniSeq:Kill()
|
||||
self.aniSeq = nil
|
||||
end
|
||||
self.aniSeq = self.root:createBindTweenSequence()
|
||||
self.aniSeq:AppendCallback(function()
|
||||
cell:getBaseObject():setActive(true)
|
||||
end)
|
||||
self.aniSeq:Append(cell:getBaseObject():getTransform():DOAnchorPos(targetPos, 0.3))
|
||||
self.aniSeq:AppendCallback(function()
|
||||
self:_display()
|
||||
end)
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
@ -124,6 +176,7 @@ function ActPvpSelectUI:refreshSelectInfo()
|
||||
local list = {}
|
||||
table.insert(list, {curPairIds[1], nextPairIds[1], nextPairIds[2]})
|
||||
table.insert(list, {curPairIds[2], nextPairIds[3], nextPairIds[4]})
|
||||
self.heroEntities = {}
|
||||
for inedx, ids in pairs(list) do
|
||||
local curId = ids[1]
|
||||
local nextId1 = ids[2]
|
||||
@ -133,8 +186,10 @@ function ActPvpSelectUI:refreshSelectInfo()
|
||||
local heroId = DataManager.ActPvpData:getSelectHeroId(curId)
|
||||
if heroId then
|
||||
local heroEntity = DataManager.HeroData:getEntity({id = heroId, level = DataManager.ActPvpData:getHeroLv()})
|
||||
self.heroEntities[inedx] = heroEntity
|
||||
unit.node:setVisible(true)
|
||||
unit.simpleHeroCell:refresh(heroEntity)
|
||||
unit.simpleHeroCell:getBaseObject():setActive(false)
|
||||
unit.info:setSprite(GConst.ATLAS_PATH.COMMON, INFO_BG[heroEntity:getQlt()])
|
||||
local heroInfo = heroEntity:getConfig()
|
||||
unit.matchIcon:setSprite(GConst.ATLAS_PATH.ICON_HERO, GConst.HeroConst.MATCH_ICON_NAME[heroInfo.position])
|
||||
@ -210,7 +265,7 @@ function ActPvpSelectUI:rfreshRefreshBtns()
|
||||
txCost:setVisible(true)
|
||||
imgCost:setVisible(true)
|
||||
txCost:setText(DataManager.ActPvpData:getFlushCost().num)
|
||||
GFunc.centerImgAndTx(imgCost, txCost, 5)
|
||||
GFunc.centerImgAndTx(imgCost, txCost, 0)
|
||||
ad:setVisible(false)
|
||||
end
|
||||
end
|
||||
|
||||
@ -398,12 +398,11 @@ function ActPvpData:setLastTurnWin(win)
|
||||
end
|
||||
|
||||
function ActPvpData:getHeroLevelUp()
|
||||
-- return self.heroLevelUp
|
||||
return true
|
||||
return self.heroLevelUp
|
||||
end
|
||||
|
||||
function ActPvpData:setHeroLevelUp(up)
|
||||
-- self.heroLevelUp = up
|
||||
self.heroLevelUp = up
|
||||
end
|
||||
|
||||
---- 排行榜
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user