Example #1
0
        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();
        }
Example #2
0
        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) };
        }
Example #3
0
        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();
        }
Example #4
0
 public Corner(MegaImageProp properties, int pieceNum)
 {
     GetStickers(properties, pieceNum);
 }
Example #5
0
 public Center(MegaImageProp properties)
 {
     GetSticker(properties);
 }