Exemple #1
0
        protected override void OnRender(DrawingContext drawingContext)
        {
            base.OnRender(drawingContext);
            if (_Supply != null)
            {
                if (_Supply.Count == 0)
                {
                    if (_SupplyGone == false)
                    {
                        _SupplyGone = true;
                        GrayscaleEffect.GrayscaleEffect gse = new GrayscaleEffect.GrayscaleEffect();
                        imCardIcon.Effect = gse;

                        Caching.ImageRepository repo = Caching.ImageRepository.Acquire();
                        imCardGone.Source = repo.GetBitmapImage("gone", "small");
                        Caching.ImageRepository.Release();

                        imCardGone.Visibility  = System.Windows.Visibility.Visible;
                        tbName.TextDecorations = TextDecorations.Strikethrough;

                        imBuyOverlay.Visibility = imDisableOverlay.Visibility = imSelectOverlay.Visibility = Visibility.Hidden;
                    }
                }
                else
                {
                    if (_SupplyGone == true)
                    {
                        _SupplyGone       = false;
                        this.Clickability = this.Clickability;
                    }
                    _SupplyGone            = false;
                    imCardIcon.Effect      = null;
                    imCardGone.Source      = null;
                    imCardGone.Visibility  = System.Windows.Visibility.Hidden;
                    tbName.TextDecorations = null;
                }

                DominionBase.Cards.Cost supplyCost = _Supply.CurrentCost;
                lCost.Content = String.Format("{0}¢{1}{2}{3}", supplyCost.Coin.Value, supplyCost.Potion.Value > 0 ? " ¤" : "", supplyCost.Special ? "*" : "", supplyCost.CanOverpay ? "+" : "");
                if (supplyCost < _Supply.BaseCost)
                {
                    lCost.Foreground = Brushes.LimeGreen;
                }
                else if (supplyCost > _Supply.BaseCost)
                {
                    lCost.Foreground = Brushes.Red;
                }
                else
                {
                    lCost.Foreground = Brushes.Black;
                }
                lCount.Content = String.Format("({0})", _Supply.Count);
            }
        }
Exemple #2
0
        private static object CoerceDesaturationFactor(DependencyObject d, object value)
        {
            GrayscaleEffect effect    = (GrayscaleEffect)d;
            double          newFactor = (double)value;

            if (newFactor < 0.0 || newFactor > 1.0)
            {
                return(effect.DesaturationFactor);
            }

            return(newFactor);
        }
		protected override void OnRender(DrawingContext drawingContext)
		{
			base.OnRender(drawingContext);
			if (_Supply != null)
			{
				if (_Supply.Count == 0)
				{
					if (_SupplyGone == false)
					{
						_SupplyGone = true;
						GrayscaleEffect.GrayscaleEffect gse = new GrayscaleEffect.GrayscaleEffect();
						imCardIcon.Effect = gse;

						Caching.ImageRepository repo = Caching.ImageRepository.Acquire();
						imCardGone.Source = repo.GetBitmapImage("gone", "small");
						Caching.ImageRepository.Release();

						imCardGone.Visibility = System.Windows.Visibility.Visible;
						tbName.TextDecorations = TextDecorations.Strikethrough;

						imBuyOverlay.Visibility = imDisableOverlay.Visibility = imSelectOverlay.Visibility = Visibility.Hidden;
					}
				}
				else
				{
					if (_SupplyGone == true)
					{
						_SupplyGone = false;
						this.Clickability = this.Clickability;
					}
					_SupplyGone = false;
					imCardIcon.Effect = null;
					imCardGone.Source = null;
					imCardGone.Visibility = System.Windows.Visibility.Hidden;
					tbName.TextDecorations = null;
				}

				DominionBase.Cards.Cost supplyCost = _Supply.CurrentCost;
				lCost.Content = String.Format("{0}¢{1}{2}{3}", supplyCost.Coin.Value, supplyCost.Potion.Value > 0 ? " ¤" : "", supplyCost.Special ? "*" : "", supplyCost.CanOverpay ? "+" : "");
				if (supplyCost < _Supply.BaseCost)
					lCost.Foreground = Brushes.LimeGreen;
				else if (supplyCost > _Supply.BaseCost)
					lCost.Foreground = Brushes.Red;
				else
					lCost.Foreground = Brushes.Black;
				lCount.Content = String.Format("({0})", _Supply.Count);
			}
		}