private void Timer_Tick(object sender, EventArgs e)
        {
            if (m_OnlineClient == null)
            {
                return;
            }

            UInt32 deltaTick;

            m_OnlineClient.UpdateGameTick(out deltaTick);
            float deltaTickTime = (float)(deltaTick) * ActorMovementObject.DeltaSecondsPerFrame;

            var prevFrame = m_MyMove.MoveFrame;

            m_MyMove.MoveFrame = m_OnlineClient.GetCurrentMoveFrame() + 4;
            if ((DateTime.Now - m_MoveStart).TotalSeconds > 1)
            {
                m_MyMove.LinearVelocity = new Vector4()
                {
                    x = 0, y = 0, z = 0, w = 0
                };
            }
            else
            {
                m_MyMove.Position.x += m_MyMove.LinearVelocity.x * deltaTickTime;
                m_MyMove.Position.y += m_MyMove.LinearVelocity.y * deltaTickTime;
                m_MyMove.Position.z += m_MyMove.LinearVelocity.z * deltaTickTime;
            }

            m_OnlineClient.SendMovement(ref m_MyMove);

            foreach (var itPlayer in m_OtherPlayers)
            {
                ActorMovement newMovement;
                if (m_OnlineClient.GetMovementForPlayer(itPlayer.Value.PlayerId, out newMovement).IsFailed)
                {
                    continue;
                }

                itPlayer.Value.Movement = newMovement;
            }
        }