Introduction
The SortXInsertionAscending (and SortYInsertionAscending/SortZInsertionAscending) function can be used to sort all contained PositionedObjects in a list by their X (or Y/Z) value.
Code Example
The following code creates 3 Circles and places them in a PositionedObjectList in descending X order. Then SortXInsertionAscending is called, and the positions of the Circles are printed out:
FlatRedBall.Math.PositionedObjectList<Circle> circleList = new FlatRedBall.Math.PositionedObjectList<Circle>(); // Let's create 3 Circles. Their X values will // be in decreasing order Circle first = new Circle(); first.X = 10; circleList.Add(first); Circle second = new Circle(); second.X = 8; circleList.Add(second); Circle third = new Circle(); third.X = 6; circleList.Add(third); // Now let's sort them: circleList.SortXInsertionAscending(); // Now let's print out the values: foreach(Circle circle in circleList) { FlatRedBall.Debugging.Debugger.CommandLineWrite(circle.Position); }