Example #1
0
        //private void adjust buttons size and position
        private void AdjustButtonsProperties()
        {
            CardImageSourceObtainer obtainer = new CardImageSourceObtainer();

            for (int i = 0; i < currentCards.Count; i++)
            {
                double height;
                double width;
                (height, width) = EstimateCardHeightAndWidth(false);

                (ControlGrid.Children[i] as MyButton).Height = height;
                (ControlGrid.Children[i] as MyButton).Width  = width;
                //(ControlGrid.Children[i] as MyButton).Picture = GetCardsPNGNameAsString(currentCards[i]);
                (ControlGrid.Children[i] as MyButton).CardImage            = obtainer.GetImageSource(currentCards[i]);
                (ControlGrid.Children[i] as MyButton).Card                 = currentCards[i];
                (ControlGrid.Children[i] as MyButton).StringRepresentation = currentCards[i].ToString();

                //margins and position
                if (i < currentCards.Count - 1)
                {
                    (ControlGrid.Children[i] as MyButton).HorizontalAlignment = HorizontalAlignment.Left;
                    double leftDstance = Distance(i, ControlGrid.Children.Count, false);
                    (ControlGrid.Children[i] as MyButton).Margin = new Thickness(leftDstance, 0, 0, 0);
                }
                else
                {
                    (ControlGrid.Children[i] as MyButton).HorizontalAlignment = HorizontalAlignment.Right;
                    double rightDistance = Distance(i, ControlGrid.Children.Count, false);
                    (ControlGrid.Children[i] as MyButton).Margin = new Thickness(0, 0, rightDistance, 0);
                }
            }
        }
Example #2
0
        //method for adding green highlight of first card
        private void AddGreenCard()
        {
            CardImageSourceObtainer obtainer = new CardImageSourceObtainer();

            MyButton myButton = new MyButton();

            (myButton.Height, myButton.Width) = EstimateCardHeightAndWidth(false);
            myButton.HorizontalAlignment      = HorizontalAlignment.Center;
            myButton.VerticalAlignment        = VerticalAlignment.Center;
            myButton.CardImage  = obtainer.GetGreenHighlight();
            myButton.Margin     = new Thickness(0);
            myButton.Visibility = Visibility.Collapsed;

            GreenCard.Children.Add(myButton);
        }
        private void AssignCardsPictures()
        {
            CardImageSourceObtainer obtainer = new CardImageSourceObtainer();

            try
            {
                CardOfSpades.Source   = obtainer.GetImageSource(rank, CardSuits.Spade);
                CardOfHearths.Source  = obtainer.GetImageSource(rank, CardSuits.Heart);
                CardOfClubs.Source    = obtainer.GetImageSource(rank, CardSuits.Club);
                CardOfDiamonds.Source = obtainer.GetImageSource(rank, CardSuits.Diamond);
            }
            catch (Exception ex)
            {
                var logger = NLog.LogManager.GetCurrentClassLogger();
                logger.Error($"Error while trying to assign cards pictures of {rank.ToString()}: {ex.Message}.");
            }
        }
        //assigning image in loop
        private void AssignImages()
        {
            CardImageSourceObtainer obtainer = new CardImageSourceObtainer();

            if (ControlGrid.Children.Count != currentCards.Count)
            {
                throw new InvalidOperationException("Amount of cards in control and in" +
                                                    " internal list is not equal while asigning images to cards");
            }
            for (int i = 0; i < ControlGrid.Children.Count; i++)
            {
                if (currentCards[i].Rank == CardRanks.Joker)
                {
                    (ControlGrid.Children[i] as MyButton).CardImage = obtainer.GetImageSource(CardRanks.Joker, CardSuits.None);
                }
                else
                {
                    (ControlGrid.Children[i] as MyButton).CardImage = obtainer.GetImageSource(currentCards[i]);
                }
            }
        }
        //method for adding one item to wrap panel
        private void PopulateWrapPanelWithSingleSuit(CardSuits suit, CardRanks rank)
        {
            CardImageSourceObtainer obtainer = new CardImageSourceObtainer();

            WrapPanelSelectableItem button = new WrapPanelSelectableItem()
            {
                Height              = 120,
                Width               = 100,
                VerticalAlignment   = VerticalAlignment.Top,
                HorizontalAlignment = HorizontalAlignment.Left,
                Margin              = new Thickness(0),
                ItemSelected        = Visibility.Collapsed,
                ItemHoovered        = Visibility.Collapsed,
                ImageSource         = obtainer.GetImageSource(rank, suit),
                Tag = rank,
            };

            button.MouseEnter += Button_MouseEnter;
            button.MouseLeave += Button_MouseLeave;
            button.Click      += Button_Click;

            DemandedRankWrapPanel.Children.Add(button);
        }
Example #6
0
        //method for adding one item to suit wrap panel
        private void AddSingleItemToRankWrapPanel(CardRanks rank)
        {
            CardImageSourceObtainer obtainer = new CardImageSourceObtainer();

            WrapPanelSelectableItem button = new WrapPanelSelectableItem
            {
                Height              = 120,
                Width               = 100,
                VerticalAlignment   = VerticalAlignment.Top,
                HorizontalAlignment = HorizontalAlignment.Left,
                Margin              = new Thickness(0),
                ItemSelected        = Visibility.Collapsed,
                ItemHoovered        = Visibility.Collapsed,
                ImageSource         = obtainer.GetImageSource(rank, thisSuit),
                Tag = rank,
            };

            //mouse enter and leave event
            button.MouseEnter += RankButton_MouseEnter;
            button.MouseLeave += RankButton_MouseLeave;
            button.Click      += RankButton_Click;

            RankWrapPanel.Children.Add(button);
        }
Example #7
0
        //method for assigning Cards PNGs
        private void AssignPictures(int firstCardNumberInList = 0)
        {
            numberOfFirstCard = firstCardNumberInList;
            CardImageSourceObtainer obtainer = new CardImageSourceObtainer();

            //showing and hiding green highlight - first card
            if (numberOfFirstCard == 0)
            {
                GreenCard.Children[0].Visibility = Visibility.Visible;
            }
            else
            {
                GreenCard.Children[0].Visibility = Visibility.Collapsed;
            }

            //first card
            if (FirstCard.Children.Count > 0)
            {
                (FirstCard.Children[0] as MyButton).CardImage = obtainer.GetImageSource(currentCards[firstCardNumberInList]); //GetOnePNGString(currentCards[firstCardNumberInList]);
            }
            //second card
            if (SecondCard.Children.Count > 0)
            {
                (SecondCard.Children[0] as MyButton).CardImage = obtainer.GetImageSource(currentCards[firstCardNumberInList + 1]);
            }
            //third card
            if (ThirdCard.Children.Count > 0)
            {
                (ThirdCard.Children[0] as MyButton).CardImage = obtainer.GetImageSource(currentCards[firstCardNumberInList + 2]);
            }
            //fourth card
            if (FourthCard.Children.Count > 0)
            {
                (FourthCard.Children[0] as MyButton).CardImage = obtainer.GetImageSource(currentCards[firstCardNumberInList + 3]);
            }
            //fifth card
            if (FifthCard.Children.Count > 0)
            {
                (FifthCard.Children[0] as MyButton).CardImage = obtainer.GetImageSource(currentCards[firstCardNumberInList + 4]);
            }
            //sixth card
            if (SixthCard.Children.Count > 0)
            {
                (SixthCard.Children[0] as MyButton).CardImage = obtainer.GetImageSource(currentCards[firstCardNumberInList + 5]);
            }
            //seventh card
            if (SeventhCard.Children.Count > 0)
            {
                (SeventhCard.Children[0] as MyButton).CardImage = obtainer.GetImageSource(currentCards[firstCardNumberInList + 6]);
            }
            //eight card
            if (EightCard.Children.Count > 0)
            {
                (EightCard.Children[0] as MyButton).CardImage = obtainer.GetImageSource(currentCards[firstCardNumberInList + 7]);

                if (currentCards.Count == 8 || currentCards.Count == firstCardNumberInList + 8)
                {
                    LastCardShader.Visibility = Visibility.Collapsed;
                }
                else
                {
                    LastCardShader.Visibility = Visibility.Visible;
                }
            }
            else
            {
                LastCardShader.Visibility = Visibility.Collapsed;
            }
        }