public void GetStickers(MegaImageProp properties, int pieceNum) { var tempStickers = new List <Sticker>(); var tempCoords = new List <CoordPair>(); var angle = MegaImageProp.LARGEANGLE * (pieceNum - 0.5); var angleChange = ((MegaImageProp.LARGEANGLE / 2) - MegaImageProp.SMALLANGLE) * 2; tempCoords.Add(CoordPair.CartesianFromPolar(properties.CenterDist, angle, properties.Center)); angle += MegaImageProp.SMALLANGLE; tempCoords.Add(CoordPair.CartesianFromPolar(properties.ShortFaceDist, angle, properties.Center)); angle += angleChange; tempCoords.Add(CoordPair.CartesianFromPolar(properties.ShortFaceDist, angle, properties.Center)); angle += MegaImageProp.SMALLANGLE; tempCoords.Add(CoordPair.CartesianFromPolar(properties.CenterDist, angle, properties.Center)); tempStickers.Add(new Sticker(tempCoords, properties.EdgeStickerDefs[pieceNum][0])); tempCoords.Clear(); angle = MegaImageProp.LARGEANGLE * (pieceNum - 0.5); angle += MegaImageProp.SMALLANGLE; tempCoords.Add(CoordPair.CartesianFromPolar(properties.ShortFaceDist, angle, properties.Center)); angle += angleChange; tempCoords.Add(CoordPair.CartesianFromPolar(properties.ShortFaceDist, angle, properties.Center)); angle += properties.SideAngle - angleChange / 2; tempCoords.Add(CoordPair.CartesianFromPolar(properties.ShortSideDist, angle, properties.Center)); angle -= properties.SideAngle * 2; tempCoords.Add(CoordPair.CartesianFromPolar(properties.ShortSideDist, angle, properties.Center)); tempStickers.Add(new Sticker(tempCoords, properties.EdgeStickerDefs[pieceNum][1])); Stickers = tempStickers.ToArray(); }
public void GetSticker(MegaImageProp properties) { var tempCoords = new List <CoordPair>(); var angle = MegaImageProp.LARGEANGLE / 2; while (angle < (Math.PI * 2)) { tempCoords.Add(CoordPair.CartesianFromPolar(properties.CenterDist, angle, properties.Center)); angle += MegaImageProp.LARGEANGLE; } Stickers = new[] { new Sticker(tempCoords, properties.CenterColor) }; }
public void GetStickers(MegaImageProp properties, int pieceNum) { var tempStickers = new List <Sticker>(); var tempCoords = new List <CoordPair>(); var angle = MegaImageProp.LARGEANGLE * (pieceNum + 0.5); tempCoords.Add(CoordPair.CartesianFromPolar(properties.CenterDist, angle, properties.Center)); angle -= MegaImageProp.SMALLANGLE; tempCoords.Add(CoordPair.CartesianFromPolar(properties.ShortFaceDist, angle, properties.Center)); angle += MegaImageProp.SMALLANGLE; tempCoords.Add(CoordPair.CartesianFromPolar(properties.LongFaceDist, angle, properties.Center)); angle += MegaImageProp.SMALLANGLE; tempCoords.Add(CoordPair.CartesianFromPolar(properties.ShortFaceDist, angle, properties.Center)); tempStickers.Add(new Sticker(tempCoords, properties.CornerStickerDefs[pieceNum][0])); tempCoords.Clear(); angle = MegaImageProp.LARGEANGLE * (pieceNum + 0.5); tempCoords.Add(CoordPair.CartesianFromPolar(properties.LongFaceDist, angle, properties.Center)); tempCoords.Add(CoordPair.CartesianFromPolar(properties.LongSideDist, angle, properties.Center)); angle -= MegaImageProp.LARGEANGLE / 2 - properties.SideAngle; tempCoords.Add(CoordPair.CartesianFromPolar(properties.ShortSideDist, angle, properties.Center)); angle -= MegaImageProp.SMALLANGLE + properties.SideAngle - MegaImageProp.LARGEANGLE / 2; tempCoords.Add(CoordPair.CartesianFromPolar(properties.ShortFaceDist, angle, properties.Center)); tempStickers.Add(new Sticker(tempCoords, properties.CornerStickerDefs[pieceNum][1])); tempCoords.Clear(); angle = MegaImageProp.LARGEANGLE * (pieceNum + 0.5); tempCoords.Add(CoordPair.CartesianFromPolar(properties.LongFaceDist, angle, properties.Center)); tempCoords.Add(CoordPair.CartesianFromPolar(properties.LongSideDist, angle, properties.Center)); angle += MegaImageProp.LARGEANGLE / 2 - properties.SideAngle; tempCoords.Add(CoordPair.CartesianFromPolar(properties.ShortSideDist, angle, properties.Center)); angle += MegaImageProp.SMALLANGLE + properties.SideAngle - MegaImageProp.LARGEANGLE / 2; tempCoords.Add(CoordPair.CartesianFromPolar(properties.ShortFaceDist, angle, properties.Center)); tempStickers.Add(new Sticker(tempCoords, properties.CornerStickerDefs[pieceNum][2])); Stickers = tempStickers.ToArray(); }
public Corner(MegaImageProp properties, int pieceNum) { GetStickers(properties, pieceNum); }
public Center(MegaImageProp properties) { GetSticker(properties); }