| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- local gameActorState = require( "actor/gameActorState")
- local gameActorStateMonsterBorn = class('gameActorStateMonsterBorn', gameActorState)
- function gameActorStateMonsterBorn:ctor()
- gameActorStateMonsterBorn.super.ctor(self)
- end
- function gameActorStateMonsterBorn:Tick(dt, monster)
- if not monster.mIsArrived and not monster:GetStoneMode() then
- monster.mCurrentActT = monster.mCurrentActT-dt
- if monster.mCurrentActT <= 0.00001 then
- monster:SetIsArrived(true)
- monster.mActionHandler:handleActionCompleted( monster, global.MMO.ACTION_BORN )
- end
- end
- end
- function gameActorStateMonsterBorn:OnEnter( monster)
- monster:dirtyAnimFlag()
- monster:SetIsArrived(false)
- monster.mCurrentActT = global.FrameAnimManager:GetAnimTotalDuration(monster:GetAnimationID(), global.MMO.SFANIM_TYPE_MONSTER, global.MMO.ANIM_BORN )
- monster.mActionHandler:handleActionBegin( monster, global.MMO.ACTION_BORN, monster.mOrient, 0 )
- end
- function gameActorStateMonsterBorn:OnExit( actor)
- end
- function gameActorStateMonsterBorn:ChangeState(newState, monster, isTerminate)
- monster.mCurrentState = newState
- return true
- end
- function gameActorStateMonsterBorn:GetStateID()
- return global.MMO.ACTION_BORN
- end
- function gameActorStateMonsterBorn:OnAnimLoadCompleted(monster, animAct, elapsed)
- if animAct ~= global.MMO.ANIM_BORN then
- return false
- end
- monster.mCurrentActT = global.FrameAnimManager:GetAnimTotalDuration(monster:GetAnimationID(), global.MMO.SFANIM_TYPE_MONSTER, global.MMO.ANIM_BORN ) - elapsed
- end
- return gameActorStateMonsterBorn
|