コード例 #1
0
    public void Start()
    {
        for (int i = 0; i <= (int)SetCard.Color.purple; i++)
        {
            for (int j = 0; j <= (int)SetCard.Fill.empty; j++)
            {
                for (int k = 0; k <= (int)SetCard.Number.three; k++)
                {
                    SetCard go = Instantiate(prefab);
                    go.color  = (SetCard.Color)i;
                    go.number = (SetCard.Number)j;
                    go.fill   = (SetCard.Fill)k;

                    go.transform.parent = transform;
                }
            }
        }
    }
コード例 #2
0
ファイル: SetPage.xaml.cs プロジェクト: edealbag/bot
 public static bool Convert(bool canPlay, SetCard card)
 {
     return canPlay && (card != null);
 }
コード例 #3
0
        public static DrawingImage Convert(SetCard setCard)
        {
            Util.RequireNotNull(setCard, "setCard");

            return new DrawingImage(SetCardDrawingFactory.GetFullCardDrawing(setCard));
        }
コード例 #4
0
        public static Drawing GetFullCardDrawing(SetCard setCard)
        {
            Drawing designDrawing = GetCardDesignDrawing(setCard);

            DrawingGroup group = new DrawingGroup();

            group.Children.Add(s_cardDrawing);
            group.Children.Add(designDrawing);

            return group;
        }
コード例 #5
0
        public static Drawing GetCardDesignDrawing(SetCard setCard)
        {
            Util.RequireNotNull(setCard, "setCard");

            DrawingGroup drawingGroup = new DrawingGroup();

            #region Border

            RectangleGeometry cardBorderGeometry = new RectangleGeometry(new Rect(s_cardSize));
            GeometryDrawing cardBorderDrawing =
                new GeometryDrawing(null, s_borderPen, cardBorderGeometry);

            drawingGroup.Children.Add(cardBorderDrawing);

            #endregion

            #region Brush

            Brush itemBrush = null;
            switch (setCard.Fill)
            {
                case SetFill.Solid:
                    switch (setCard.Color)
                    {
                        case SetColor.Green:
                            itemBrush = Brushes.Green;
                            break;
                        case SetColor.Purple:
                            itemBrush = Brushes.Purple;
                            break;
                        case SetColor.Red:
                            itemBrush = Brushes.Red;
                            break;
                    }
                    break;

                case SetFill.Stripe:
                    switch (setCard.Color)
                    {
                        case SetColor.Green:
                            itemBrush = s_stripedGreenBrush;
                            break;
                        case SetColor.Purple:
                            itemBrush = s_stripedPurpleBrush;
                            break;
                        case SetColor.Red:
                            itemBrush = s_stripedRedBrush;
                            break;
                    }
                    break;

                case SetFill.Empty:
                    itemBrush = Brushes.Transparent;
                    break;
            }

            #endregion

            Pen itemPen = null;
            switch (setCard.Color)
            {
                case SetColor.Green:
                    itemPen = s_greenPen;
                    break;
                case SetColor.Purple:
                    itemPen = s_purplePen;
                    break;
                case SetColor.Red:
                    itemPen = s_redPen;
                    break;
            }

            Point startCenter = new Point(s_cardSize.Width / 2, s_cardSize.Height / 2);

            if (setCard.Count == 2)
            {
                startCenter.Y -= c_centerOffset / 2;
            }
            else if (setCard.Count == 3)
            {
                startCenter.Y -= c_centerOffset;
            }

            GeometryGroup geometryGroup = new GeometryGroup();

            for (int i = 0; i < setCard.Count; i++)
            {
                Geometry itemGeometry = null;

                switch (setCard.Shape)
                {
                    case SetShape.Diamond:

                        itemGeometry = GetDiamondGeometry();
                        break;

                    case SetShape.Oval:

                        itemGeometry = new RectangleGeometry(
                            new Rect(s_itemSize),
                            s_itemSize.Height / 2,
                            s_itemSize.Height / 2);
                        break;

                    case SetShape.Squiggle:

                        itemGeometry = new PathGeometry(s_squigglePathFigureCollection);
                        break;
                }

                itemGeometry.Transform = GetCenterTransform(itemGeometry, startCenter);

                geometryGroup.Children.Add(itemGeometry);

                startCenter.Y += c_centerOffset;
            }

            Debug.Assert(itemBrush != null);
            Debug.Assert(itemPen != null);

            GeometryDrawing itemDrawing =
                new GeometryDrawing(itemBrush, itemPen, geometryGroup);

            drawingGroup.Children.Add(itemDrawing);

            return drawingGroup;
        }