// Whenever we change the number of grab points, we save the // current transform data private void BeginTransform() { // End the transform on any existing transformer before we // begin the new one EndTransform(); int useGrabPoints = _selectingPoints.Count; if (_maxGrabPoints != -1) { useGrabPoints = Mathf.Min(useGrabPoints, _maxGrabPoints); } switch (useGrabPoints) { case 1: _activeTransformer = OneGrabTransformer; break; case 2: _activeTransformer = TwoGrabTransformer; break; default: _activeTransformer = null; break; } if (_activeTransformer == null) { return; } _activeTransformer.BeginTransform(); }