gameActorStatePlayerSitdown.lua 1.2 KB

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