private void AlignCenteredVertical() { if (Selection.Count > 1) { List <AlignmentNodeData> dataList = new List <AlignmentNodeData>(); float minY = float.MaxValue; float maxY = 0; foreach (AnimNodeItem node in Selection) { maxY = Mathf.Max(maxY, node.Y + node.Height); minY = Mathf.Min(minY, node.Y); } float middleY = (maxY + minY) * 0.5f; foreach (AnimNodeItem node in Selection) { AlignmentNodeData data = new AlignmentNodeData(); data.Node = node; data.PreY = node.Y; node.Y = middleY - (node.Height * 0.5f); data.NewY = node.Y; dataList.Add(data); } //History.Insert(new AlignmentUndoRedo(dataList)); } }
private void AlignCenteredHorizontal() { if (Selection.Count > 1) { List <AlignmentNodeData> dataList = new List <AlignmentNodeData>(); float minX = float.MaxValue; float maxX = 0; foreach (AnimNodeItem node in Selection) { maxX = Mathf.Max(maxX, node.X + node.Width); minX = Mathf.Min(minX, node.X); } float middleX = (maxX + minX) * 0.5f; foreach (AnimNodeItem node in Selection) { AlignmentNodeData data = new AlignmentNodeData(); data.Node = node; data.PreX = node.X; node.X = middleX - (node.Width * 0.5f); data.NewX = node.X; dataList.Add(data); } //History.Insert(new AlignmentUndoRedo(dataList)); } }
private void AlignTop() { if (Selection.Count > 1) { List <AlignmentNodeData> dataList = new List <AlignmentNodeData>(); // history data float minY = float.MaxValue; foreach (AnimNodeItem node in Selection) { minY = Mathf.Min(minY, node.Y); } foreach (AnimNodeItem node in Selection) { AlignmentNodeData data = new AlignmentNodeData(); // create for history data.Node = node; data.PreY = node.Y; node.Y = minY; data.NewY = node.Y; dataList.Add(data); } //History.Insert(new AlignmentUndoRedo(dataList)); } }
private void AlignRight() { if (Selection.Count > 1) { List <AlignmentNodeData> dataList = new List <AlignmentNodeData>(); float maxX = 0; foreach (AnimNodeItem node in Selection) { maxX = Mathf.Max(maxX, node.X + node.Width); } foreach (AnimNodeItem node in Selection) { AlignmentNodeData data = new AlignmentNodeData(); data.Node = node; data.PreX = node.X; node.X = maxX - node.Width; data.NewX = node.X; dataList.Add(data); } //History.Insert(new AlignmentUndoRedo(dataList)); } }
private void AlignLeft() { if (Selection.Count > 1) { List <AlignmentNodeData> dataList = new List <AlignmentNodeData>(); float minX = float.MaxValue; foreach (AnimNodeItem node in Selection) { minX = Mathf.Min(minX, node.X); } foreach (AnimNodeItem node in Selection) { AlignmentNodeData data = new AlignmentNodeData(); data.Node = node; data.PreX = node.X; node.X = minX; data.NewX = node.X; dataList.Add(data); } //History.Insert(new AlignmentUndoRedo(dataList)); } }
private void AlignBottom() { if (Selection.Count > 1) { List <AlignmentNodeData> dataList = new List <AlignmentNodeData>(); float maxY = 0; foreach (AnimNodeItem node in Selection) { maxY = Mathf.Max(maxY, node.Y + node.Height); } foreach (AnimNodeItem node in Selection) { AlignmentNodeData data = new AlignmentNodeData(); data.Node = node; data.PreY = node.Y; node.Y = maxY - node.Height; data.NewY = node.Y; dataList.Add(data); } //History.Insert(new AlignmentUndoRedo(dataList)); } }