public override bool doTool() { node.setValues(newX, newY, newScale); if (newX != oldX || newY != oldY) { foreach (Trajectory.Side side in trajectory.getSides()) { if (side.getIDEnd().Equals(node.getID()) || side.getIDStart().Equals(node.getID())) { oldLengths.Add(side.getIDStart() + ";" + side.getIDEnd(), side.getLength()); Trajectory.Node start = trajectory.getNodeForId(side.getIDStart()); Trajectory.Node end = trajectory.getNodeForId(side.getIDEnd()); float x = start.getX() - end.getX(); float y = start.getY() - end.getY(); side.setLenght((float)Mathf.Sqrt(Mathf.Pow(x, 2) + Mathf.Pow(y, 2))); side.setRealLength((float)Mathf.Sqrt(Mathf.Pow(x, 2) + Mathf.Pow(y, 2))); } } } return(true); }
public override bool doTool() { node.setValues(newX, newY, newScale); if (newX != oldX || newY != oldY) { foreach (Trajectory.Side side in trajectory.getSides()) { if (side.getIDEnd().Equals(node.getID()) || side.getIDStart().Equals(node.getID())) { Node start = trajectory.getNodeForId(side.getIDStart()); Node end = trajectory.getNodeForId(side.getIDEnd()); float x = start.getX() - end.getX(); float y = start.getY() - end.getY(); var newLength = new Vector2(x, y).magnitude; if (Mathf.Approximately(side.getLength(), side.getRealLength())) { side.setLenght(newLength); } side.setRealLength(newLength); } } } return(true); }