| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- local gameActorState = require( "actor/gameActorState")
- local gameActorStatePlayerSBYS = class('gameActorStatePlayerSBYS', gameActorState)
- function gameActorStatePlayerSBYS:ctor()
- gameActorStatePlayerSBYS.super.ctor(self)
- end
- function gameActorStatePlayerSBYS:GetStateID()
- return global.MMO.ACTION_SBYS
- end
- function gameActorStatePlayerSBYS:Tick(dt, actor)
- actor.mCurrentActT = actor.mCurrentActT - dt
- if not actor.mIsArrived then
- -- Timing...
- if actor.mCurrentActT <= 0.0 then
- actor:SetIsArrived(true)
- local mapX = actor:GetMapX()
- local mapY = actor:GetMapY()
- local worldPos = global.sceneManager:MapPos2WorldPos(mapX, mapY, true)
- actor:setPosition(worldPos.x, worldPos.y)
- end
- end
- if actor.mActionHandler then
- if actor.mIsArrived then
- actor.mActionHandler:handleActionCompleted( actor, self:GetStateID() )
- else
- actor.mActionHandler:handleActionProcess( actor, self:GetStateID(), dt )
- end
- end
- end
- function gameActorStatePlayerSBYS:OnEnter(actor)
- if actor.mActionHandler then
- actor.mActionHandler:handleActionBegin( actor, self:GetStateID() )
- end
- local animTime = 0.1 / actor:GetAttackSpeed()
- actor:SetCurrActTime(animTime)
- actor:SetIsArrived(false)
- actor:SetAnimPrepare(0.5)
- actor:SetAnimAct(global.MMO.ANIM_READY)
- actor:dirtyAnimFlag()
- end
- function gameActorStatePlayerSBYS:OnExit(actor)
- actor:SetAnimPrepare(3)
- actor:SetAnimAct(global.MMO.ANIM_READY)
- actor:dirtyAnimFlag()
- end
- function gameActorStatePlayerSBYS:ChangeState(newState, actor, isTerminate)
- actor.mCurrentState = newState
- return true
- end
- return gameActorStatePlayerSBYS
|