bug修复

This commit is contained in:
xiekaidong 2023-04-21 21:45:03 +08:00
parent 0be49bdc32
commit a4951d9f89
2 changed files with 13 additions and 3 deletions

View File

@ -526,6 +526,10 @@ function BattleController:onTouchEvent(eventType, posId, isVirtual)
if eventType == ELIMINATION_TOUCH_EVENT.DOWN then
self:onLinkStart(entity, posId, isVirtual)
elseif eventType == ELIMINATION_TOUCH_EVENT.ENTER then
if self.battleData:getIsVirtual() then
return
end
self:onLinkEnter(entity, posId, isVirtual)
elseif eventType == ELIMINATION_TOUCH_EVENT.EXIT then
@ -557,7 +561,7 @@ function BattleController:onLinkStart(entity, posId, isVirtual)
if #self.battleData:getGridSequence() > 0 then
self.battleData:clearGridSequence()
end
self.battleData:insertGridSequence(posId, self:snapshotBoard())
self.battleData:insertGridSequence(posId, self:snapshotBoard(), isVirtual)
local skillEntity = self.battleData:getSkillEntityBySkillId(entity:getSkillId())
local maskElementType = entity:getElementType(skillEntity)
self.battleUI:showBoardMask(maskElementType)
@ -633,7 +637,7 @@ function BattleController:onLinkEnter(entity, posId, isVirtual)
local maskElementType = elementType or lastElementType
self.battleUI:showBoardMask(maskElementType)
self.battleData:insertGridSequence(posId, self:snapshotBoard())
self.battleData:insertGridSequence(posId, self:snapshotBoard(), isVirtual)
if lastEntity:getNeedChangePos() and not entity:getNeedChangePos() then -- 需要移动到队列末尾
local lastSkillId = lastEntity:getSkillId()
local skillId = entity:getSkillId()

View File

@ -180,6 +180,10 @@ function BattleData:alreadyInsertSequence(posId)
return self.gridSequenceMap[posId] == true
end
function BattleData:getIsVirtual()
return self.isVirtual
end
function BattleData:getSequenceHadSkill()
for _, info in ipairs(self:getGridSequence()) do
local entity = self.gridEntities[info.posId]
@ -190,12 +194,13 @@ function BattleData:getSequenceHadSkill()
return
end
function BattleData:insertGridSequence(posId, snapshot)
function BattleData:insertGridSequence(posId, snapshot, isVirtual)
if self:alreadyInsertSequence(posId) then
return false
end
self.gridSequenceMap[posId] = true
self.isVirtual = isVirtual
table.insert(self.gridSequence, {posId = posId, snapshot = snapshot})
return true
end
@ -248,6 +253,7 @@ end
function BattleData:clearGridSequence()
self.gridSequence = {} -- 格子队列
self.gridSequenceMap = {} -- 格子队列对应的map方面查找
self.isVirtual = nil
self:clearSkillInfluenceGrids()
end