/// <summary> /// Gets the start face to organize the corners /// </summary> /// <param name="c">Cube to search</param> /// <param name="blocks">Returns all the blocks with same side of the face</param> /// <returns>Returns the selected CubeFace.</returns> private VisualCubeFace GetStartFace(VisualCube c, out List<VisualCubeBlock> blocks) { VisualCubeFace selFace = new VisualCubeFace(); blocks = new List<VisualCubeBlock>(); foreach (VisualCubeFace item in c.GetFaces()) { blocks = GetCornersFromSameSide(item); if (blocks.Count > 0) { //TODO: Select best face to get the corner. selFace = item; break; } } return selFace; }