public void OnGrabStop() { Bounds curBound = m_targetTrans.GetComponent <MeshFilter>().sharedMesh.bounds; // or just mesh? transform.position = m_targetTrans.position + _dirInt * _scaleDir * (m_targetTrans.localScale[_coord] * curBound.size[_coord] / 2 + FoamUtils.ScaleTabOffset); transform.rotation = _initRot; //_parent.UpdateTabsLocation(curBound, _index); _isBeingGrabbed = false; // undo redo Debug.Log("Scaling added to stack"); if (_targetPrevPos != m_targetTrans.position && _targetPrevScale != m_targetTrans.localScale) { ICommand scaleAction = new CommandScale(m_targetTrans.gameObject, _targetPrevScale, _targetPrevPos, m_targetTrans.localScale, m_targetTrans.position); UndoRedoManager.AddNewAction(scaleAction); } }
public void ScaleVec(double time, CommandScale scale) => ScaleVec(OsbEasing.None, time, time, scale, scale);
public void ScaleVec(double startTime, double endTime, CommandScale startScale, double endX, double endY) => ScaleVec(OsbEasing.None, startTime, endTime, startScale, endX, endY);
public void ScaleVec(OsbEasing easing, double startTime, double endTime, CommandScale startScale, double endX, double endY) => ScaleVec(easing, startTime, endTime, startScale, new CommandScale(endX, endY));
public void ScaleVec(OsbEasing easing, double startTime, double endTime, CommandScale startScale, CommandScale endScale) => addCommand(new VScaleCommand(easing, startTime, endTime, startScale, endScale));