gameActorStatePlayerMining.lua 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. local gameActorState = require( "actor/gameActorState")
  2. local gameActorStatePlayerMining = class('gameActorStatePlayerMining', gameActorState)
  3. function gameActorStatePlayerMining:ctor()
  4. gameActorStatePlayerMining.super.ctor(self)
  5. end
  6. function gameActorStatePlayerMining: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_MINING )
  11. end
  12. end
  13. end
  14. function gameActorStatePlayerMining: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 gameActorStatePlayerMining:OnExit(player)
  22. -- reset prepare time
  23. player:SetAnimPrepare(3)
  24. --
  25. player:SetAnimAct(global.MMO.ANIM_READY)
  26. player:dirtyAnimFlag()
  27. end
  28. function gameActorStatePlayerMining:ChangeState(newState, player, isTerminate)
  29. player.mCurrentState = newState
  30. return true
  31. end
  32. function gameActorStatePlayerMining:GetStateID()
  33. return global.MMO.ACTION_MINING
  34. end
  35. return gameActorStatePlayerMining