예제 #1
0
        public void PutFromTopOfDeckIntoManaZone(Duel duel)
        {
            var card = RemoveTopCardOfDeck();

            _ = ManaZone.Add(card, duel, null);
            duel.CurrentTurn.CurrentStep.GameEvents.Enqueue(new TopDeckCardPutIntoManaZoneEvent(new Player(this), new Card(card, true)));
        }
 public void StartTurn() {
     Charge = 1;
     // Get rid of all Summoning Sickness.
     foreach (Creature creature in BattleZone.GetAll<Creature>())
         creature.SummoningSickness = false;
     ManaZone.UntapAll();
     BattleZone.UntapAll();
     OnTurnStarted();
 }
예제 #3
0
 public void Update(Duel duel, Player player)
 {
     Hand.Update(duel, player.Hand);
     ManaZone.Update(duel, player.ManaZone);
     BattleZone.Update(duel, player.BattleZone);
     Deck.Update(duel, player.Deck);
     ShieldZone.Update(duel, player.ShieldZone);
     Graveyard.Update(duel, player.Graveyard);
 }
예제 #4
0
 protected virtual void Dispose(bool disposing)
 {
     if (disposing)
     {
         BattleZone?.Dispose();
         BattleZone = null;
         Deck?.Dispose();
         Deck = null;
         Graveyard?.Dispose();
         Graveyard = null;
         Hand?.Dispose();
         Hand = null;
         ManaZone?.Dispose();
         ManaZone = null;
         ShieldZone?.Dispose();
         ShieldZone = null;
     }
 }
예제 #5
0
 public void UntapCardsInBattleZoneAndManaZone()
 {
     BattleZone.UntapCards();
     ManaZone.UntapCards();
 }
 public string PrintZones() {
     return $"Deck: {Deck.Print()}\r\nHand: {Hand.Print()}\r\nShield Zone: {ShieldZone.Print()}\r\nMana Zone: {ManaZone.Print()}\r\nBattle Zone: {BattleZone.Print()}\r\nGraveyard: {Graveyard.Print()}\r\n";
 }