| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- local gameActorState = require( "actor/gameActorState")
- local gameActorStatePlayerTurn = class('gameActorStatePlayerTurn', gameActorState)
- function gameActorStatePlayerTurn:ctor()
- gameActorStatePlayerTurn.super.ctor(self)
- end
- function gameActorStatePlayerTurn:GetStateID()
- return global.MMO.ACTION_TURN
- end
- function gameActorStatePlayerTurn:Tick(dt, player)
- player.mCurrentActT = player.mCurrentActT - dt
- if player.mCurrentActT <= 0.00001 then
- if player.mActionHandler and player.mIsConfirmed then
- player.mActionHandler:handleActionCompleted( player, global.MMO.ACTION_TURN )
- end
- end
- --
- local prepareTime = player:GetAnimPrepare()
- if prepareTime > 0.001 then
- if prepareTime - dt <= 0.001 then
- player:SetAnimPrepare( 0.0 )
- else
- player:SetAnimPrepare( prepareTime - dt )
- end
- end
- -- confirmed timeout
- if player.mCurrentActT <= -5.0 then
- player:SetConfirmed(true)
- end
- end
- function gameActorStatePlayerTurn:OnEnter(player)
- self.super.OnEnter( self, player )
- if player.mActionHandler then
- player.mActionHandler:handleActionBegin( player, global.MMO.ACTION_TURN, player.mOrient, 0 )
- end
- local mapProxy = global.Facade:retrieveProxy(global.ProxyTable.Map)
- local actionTime = mapProxy:GetTurnIntervalTime() * 0.001
- player.mCurrentActT = actionTime
- -- reset some data
- player:SetConfirmed(false)
- player:SetAnimPrepare( 0.0 )
- player:dirtyAnimFlag()
- end
- function gameActorStatePlayerTurn:OnExit(player)
- player:dirtyAnimFlag()
- end
- function gameActorStatePlayerTurn:ChangeState(newState, player, isTerminate)
- player.mCurrentState = newState
- return true
- end
- return gameActorStatePlayerTurn
|