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(); }
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); }
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; } }
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"; }