战斗中的角色有多种状态,根据不同的事件切换到不同的状态,进入一个状态,
当然也会退出状态,如冰冻状态,战斗中的角色中了冰冻buff后进入冰冻状态,
那么当这个冰冻buff时间到了之后自然就失效了,角色要解除冰冻状态,那么
解除了冰冻状态后要进入哪个状态呢,这个具体看需求,一般情况下是进入到
待机状态,通俗地说,当冰冻buff生效时调用onFrozen(),当冰冻buff失效时
调用onFrozenEnd(),代码如下:
local StateId = require("app.edition4.StateId")
local Soldier = class("Soldier")
function Soldier:ctor()
self.iStateId = StateId.unKnown
end
--待机
function Soldier:onIdle()
self.iStateId = StateId.idle
print("切换到待机状态")
end
--行走
function Soldier:onWalk()
if self:isFrozen() then return end
self.iStateId = StateId.walk
print("切换到行走状态")
end
--攻击
function Soldier:onAttack()
if self:isFrozen() then return end
self.iStateId = StateId.attack
print("切换到攻击状态")
end
--冰冻
function