public Vector2 ToolCoordToPosition(ToolCoord coord, Bounds bounds) { switch (coord) { case ToolCoord.BottomLeft: return(bounds.min); case ToolCoord.Bottom: return(new Vector2(bounds.center.x, bounds.min.y)); case ToolCoord.BottomRight: return(new Vector2(bounds.max.x, bounds.min.y)); case ToolCoord.Left: return(new Vector2(bounds.min.x, bounds.center.y)); case ToolCoord.Center: return(bounds.center); case ToolCoord.Right: return(new Vector2(bounds.max.x, bounds.center.y)); case ToolCoord.TopLeft: return(new Vector2(bounds.min.x, bounds.max.y)); case ToolCoord.Top: return(new Vector2(bounds.center.x, bounds.max.y)); case ToolCoord.TopRight: return(bounds.max); } return(Vector2.zero); }
private void OnStartScale(ToolCoord pivotCoord, ToolCoord pickedCoord, Vector2 mousePos, bool rippleTime) { Bounds bounds = selectionBounds; m_IsDragging = true; m_Pivot = ToolCoordToPosition(pivotCoord, bounds); m_Previous = ToolCoordToPosition(pickedCoord, bounds); m_MouseOffset = mousePos - m_Previous; m_RippleTime = rippleTime; m_RippleTimeStart = bounds.min.x; m_RippleTimeEnd = bounds.max.x; m_State.StartLiveEdit(); }
public Vector2 ToolCoordToPosition(ToolCoord coord, Bounds bounds) { switch (coord) { case ToolCoord.BottomLeft: return bounds.min; case ToolCoord.Bottom: return new Vector2(bounds.center.x, bounds.min.y); case ToolCoord.BottomRight: return new Vector2(bounds.max.x, bounds.min.y); case ToolCoord.Left: return new Vector2(bounds.min.x, bounds.center.y); case ToolCoord.Center: return bounds.center; case ToolCoord.Right: return new Vector2(bounds.max.x, bounds.center.y); case ToolCoord.TopLeft: return new Vector2(bounds.min.x, bounds.max.y); case ToolCoord.Top: return new Vector2(bounds.center.x, bounds.max.y); case ToolCoord.TopRight: return bounds.max; } return Vector2.zero; }