gameActorStatePlayerIdle.lua 1.2 KB

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