使用技能
This commit is contained in:
parent
b311395f10
commit
210be03aa4
@ -44,7 +44,7 @@ function BattleUnitComp:_initBase()
|
|||||||
self.buffList = {}
|
self.buffList = {}
|
||||||
self.sameBuffCount = {}
|
self.sameBuffCount = {}
|
||||||
self.shieldBuffList = {}
|
self.shieldBuffList = {}
|
||||||
self.activeSkillIndex = 1
|
self.activeSkillIndex = nil
|
||||||
self.currActiveSkill = nil
|
self.currActiveSkill = nil
|
||||||
self.targetX = nil
|
self.targetX = nil
|
||||||
self.currState = UNIT_STATE.INIT
|
self.currState = UNIT_STATE.INIT
|
||||||
@ -89,6 +89,21 @@ function BattleUnitComp:getAnimationDuration(aniName)
|
|||||||
return duration or 0
|
return duration or 0
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function BattleUnitComp:useSkill(index, callback)
|
||||||
|
self.actionOverCallback = callback
|
||||||
|
self.activeSkillIndex = nil
|
||||||
|
self.currActiveSkill = self.unitEntity:getActiveSkill(index)
|
||||||
|
if self.currActiveSkill == nil then
|
||||||
|
self.actionOverCallback = nil
|
||||||
|
callback()
|
||||||
|
return
|
||||||
|
end
|
||||||
|
if not self:changeState(UNIT_STATE.SKILL_ATTACK) then
|
||||||
|
self.actionOverCallback = nil
|
||||||
|
callback()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
function BattleUnitComp:useAllSkills(callback)
|
function BattleUnitComp:useAllSkills(callback)
|
||||||
self.actionOverCallback = callback
|
self.actionOverCallback = callback
|
||||||
self.activeSkillIndex = 1
|
self.activeSkillIndex = 1
|
||||||
@ -294,8 +309,12 @@ function BattleUnitComp:updateSkillAttack(dt)
|
|||||||
self.isMove = false
|
self.isMove = false
|
||||||
self.positionX = self.targetX
|
self.positionX = self.targetX
|
||||||
if self.attackOver then -- 归位后该进行下一次攻击了
|
if self.attackOver then -- 归位后该进行下一次攻击了
|
||||||
self.activeSkillIndex = self.activeSkillIndex + 1
|
if self.activeSkillIndex then
|
||||||
self.currActiveSkill = self.unitEntity:getActiveSkill(self.activeSkillIndex)
|
self.activeSkillIndex = self.activeSkillIndex + 1
|
||||||
|
self.currActiveSkill = self.unitEntity:getActiveSkill(self.activeSkillIndex)
|
||||||
|
else
|
||||||
|
self.currActiveSkill = nil
|
||||||
|
end
|
||||||
if self.currActiveSkill == nil then
|
if self.currActiveSkill == nil then
|
||||||
self:changeState(UNIT_STATE.IDLE)
|
self:changeState(UNIT_STATE.IDLE)
|
||||||
local callback = self.actionOverCallback
|
local callback = self.actionOverCallback
|
||||||
@ -325,8 +344,11 @@ function BattleUnitComp:updateSkillAttack(dt)
|
|||||||
self.attackTime = self.attackTime + dt
|
self.attackTime = self.attackTime + dt
|
||||||
if self.attackTime >= self.currAttackDuration then
|
if self.attackTime >= self.currAttackDuration then
|
||||||
self.attackOver = true
|
self.attackOver = true
|
||||||
self.activeSkillIndex = self.activeSkillIndex + 1
|
local currActiveSkill = nil
|
||||||
local currActiveSkill = self.unitEntity:getActiveSkill(self.activeSkillIndex)
|
if self.activeSkillIndex then
|
||||||
|
self.activeSkillIndex = self.activeSkillIndex + 1
|
||||||
|
currActiveSkill = self.unitEntity:getActiveSkill(self.activeSkillIndex)
|
||||||
|
end
|
||||||
if currActiveSkill == nil then
|
if currActiveSkill == nil then
|
||||||
if self.targetX then -- 移动过,准备归位
|
if self.targetX then -- 移动过,准备归位
|
||||||
self.isMove = true
|
self.isMove = true
|
||||||
|
|||||||
@ -1227,7 +1227,12 @@ local function _generalAttack(self, instruction, callback)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local function _playSkill(self, instruction, callback)
|
local function _playSkill(self, instruction, callback)
|
||||||
callback()
|
local hero = self.atkUnits[instruction.skillMatch]
|
||||||
|
if hero == nil then
|
||||||
|
return callback()
|
||||||
|
end
|
||||||
|
self.atkMainUnit = hero
|
||||||
|
hero:useSkill(1, callback)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user