示例#1
0
 public void notifyObserver(Observable o, object args)
 {
     if (InvokeRequired)
     {
         BeginInvoke(new Action(() => invokeMe(o as Pile, args)));
     }
     else
     {
         invokeMe(o as Pile, args);
     }
 }
示例#2
0
        public void notifyObserver(Observable o, object args)
        {
            player = (Player)o;
            playerPortrait.player = player;

            updateManaDisplay();

            safeSetText(health, player.getLife().ToString());
            safeSetText(deck, player.deck.count.ToString());
            safeSetText(hand, player.hand.count.ToString());
            safeSetText(yard, player.graveyard.count.ToString());

            Invalidate();
        }
示例#3
0
        public virtual void notifyObserver(Observable o, object args)
        {
            Card card = (Card)o;

            Card = card;
            colour = card.colour;
            art = card.cardId;
            name = card.getName();
            archtype = card.getArchtypeString();
            abilityText = card.getAbilitiesString();
            costs = card.getManaCost().costs;
            hasPT = false;
            isExhausted = card.exhausted;
            rarity = card.rarity;
            if (card.attacking)
            {
                borderColor = Color.Red;
            }
            else if (card.defenderOf != null)
            {
                borderColor = Color.Blue;
            }
            else
            {
                borderColor = null;
            }
            if (card.hasPT())
            {
                hasPT = true;
                power = card.currentPower.ToString();
                toughness = card.currentToughness.ToString();
                isDamaged = card.isDamaged();
            }

            targets = card.stackWrapper?.targets ?? (IEnumerable<Target>)notahack;
            if (card.defenderOf != null)
            {
                targets = targets.Concat(new [] {new Target(card.defenderOf)});
            }

            Invalidate();
        }