private void SetStickerDefs(string schemeString, string stickerDefsString) { var scheme = new ColorScheme(); if (schemeString != null) { schemeString = schemeString.Replace(" ", "") .Replace("%20", ""); scheme = new ColorScheme(schemeString.Split('-')); } // default solved cube var cornerFaces = Enumerable.Range(1, 5) .Select(faceNum => new[] { ColorScheme.Faces[0], ColorScheme.Faces[faceNum], ColorScheme.Faces[(faceNum + 1) % 5] }) .ToArray(); // sticker formats expected in format: CharCharChar,CharCharChar,... where Char represents a face if (stickerDefsString == null) { stickerDefsString = "uffl,uflbl,ublbr,ubrfr,ufrf"; } stickerDefsString = stickerDefsString.ToLower() .Replace("br", "R") .Replace("bl", "L") .Replace("fr", "r") .Replace("fl", "l"); CornerStickerDefs = stickerDefsString .Split(',') .Select(PieceDef => PieceDef.ToCharArray() .Select(stickerFace => scheme.GetFace(stickerFace)) .ToArray()) .ToArray(); }
private void SetStickerDefs(string schemeString, string stickerDefsString) { var scheme = new ColorScheme(); if (schemeString != null) { schemeString = schemeString.Replace(" ", "") .Replace("%20", ""); scheme = new ColorScheme(schemeString.Split('-')); } // default solved cube if (stickerDefsString == null) { stickerDefsString = "u;uf,ufl,ubl,ubr,ufr;uffl,uflbl,ublbr,ubrfr,ufrf"; } CenterColor = scheme.GetFace(char.Parse(stickerDefsString.Split(';')[0])); stickerDefsString = stickerDefsString.ToLower() .Replace("br", "R") .Replace("bl", "L") .Replace("fr", "r") .Replace("fl", "l"); EdgeStickerDefs = stickerDefsString .Split(';')[1] .Split(',') .Select(PieceDef => PieceDef.ToCharArray() .Select(stickerFace => scheme.GetFace(stickerFace)) .ToArray()) .ToArray(); CornerStickerDefs = stickerDefsString .Split(';')[2] .Split(',') .Select(PieceDef => PieceDef.ToCharArray() .Select(stickerFace => scheme.GetFace(stickerFace)) .ToArray()) .ToArray(); }