public void SetMovement(float distanceAdded, bool flag) { if (!_bouncingMovement.IsMovementEnded()) { return; } var state = _getPositionState(); var movingDirection = Mathf.Sign(distanceAdded); if ((state == PositionState.Top && movingDirection < 0) || (state == PositionState.Bottom && movingDirection > 0)) { _bouncingMovement.SetMovement(movingDirection * _bouncingDeltaPos); } else { distanceAdded += _unitMovement.distanceRemaining; _unitMovement.SetMovement(distanceAdded); } }
public bool IsMovementEnded() { return(!_isDragging && _aligningMovement.IsMovementEnded() && _releasingMovement.IsMovementEnded()); }
public bool IsMovementEnded() { return(_bouncingMovement.IsMovementEnded() && _unitMovement.IsMovementEnded()); }