/// <summary> /// Returns the amount of edges of the top layer which have the right orientation /// </summary> /// <returns></returns> public int CountEdgesWithCorrectOrientation() { Color topColor = GetFaceColor(CubeFlag.TopLayer | CubeFlag.MiddleSliceSides | CubeFlag.MiddleSlice, FacePosition.Top); return(Cubes.Count(c => c.IsEdge && c.Faces.First(f => f.Position == FacePosition.Top).Color == topColor)); }