gameActorStatePlayerIdleLock.lua 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. local gameActorState = require( "actor/gameActorState")
  2. local gameActorStatePlayerIdleLock = class('gameActorStatePlayerIdleLock', gameActorState)
  3. function gameActorStatePlayerIdleLock:ctor()
  4. gameActorStatePlayerIdleLock.super.ctor(self)
  5. end
  6. function gameActorStatePlayerIdleLock:GetStateID()
  7. return global.MMO.ACTION_IDLE_LOCK
  8. end
  9. function gameActorStatePlayerIdleLock:Tick(dt, player)
  10. player.mCurrentActT = player.mCurrentActT - dt
  11. if player.mCurrentActT <= 0.00001 then
  12. if player.mActionHandler then
  13. player.mActionHandler:handleActionCompleted( player, global.MMO.ACTION_IDLE_LOCK )
  14. end
  15. end
  16. end
  17. function gameActorStatePlayerIdleLock:OnEnter(player)
  18. if player.mActionHandler then
  19. player.mActionHandler:handleActionBegin( player, global.MMO.ACTION_IDLE_LOCK, player.mOrient, 0 )
  20. end
  21. player.mCurrentActT = 1
  22. player:SetAnimPrepare(0)
  23. player:dirtyAnimFlag()
  24. end
  25. function gameActorStatePlayerIdleLock:OnExit(actor)
  26. end
  27. function gameActorStatePlayerIdleLock:ChangeState(newState, player, isTerminate)
  28. player.mCurrentState = newState
  29. return true
  30. end
  31. return gameActorStatePlayerIdleLock