private Vector3I Move() { ++_currentStep; --_restDistance; return ( _startingPos + _currentStep * _direction ).Round(); }