public Rubik Clone() { Rubik newRubik = new Rubik(); newRubik.cubes = new List <Cube3D>(cubes.Select(c => c.Clone())); newRubik.cubesRender = new List <Cube3D>(cubesRender.Select(c => c.Clone())); newRubik.LayerRotation = new Dictionary <Cube3D.RubikPosition, double>(LayerRotation); newRubik.Rotation = Rotation; return(newRubik); }
public RubikManager(Color cfront, Color cback, Color ctop, Color cbottom, Color cright, Color cleft) { RubikCube = new Rubik(); setFaceColor(Cube3D.RubikPosition.FrontSlice, Face3D.FacePosition.Front, cfront); setFaceColor(Cube3D.RubikPosition.BackSlice, Face3D.FacePosition.Back, cback); setFaceColor(Cube3D.RubikPosition.TopLayer, Face3D.FacePosition.Top, ctop); setFaceColor(Cube3D.RubikPosition.BottomLayer, Face3D.FacePosition.Bottom, cbottom); setFaceColor(Cube3D.RubikPosition.RightSlice, Face3D.FacePosition.Right, cright); setFaceColor(Cube3D.RubikPosition.LeftSlice, Face3D.FacePosition.Left, cleft); Rotating = false; }