public bool TryPayWith(ManaPool pool) { Dictionary<MTGColor, int> manaRemaining = pool.GetManaRemaining(); bool result = TryTakeMana(manaRemaining); if( result ) pool.SetManaRemaining(manaRemaining); return result; }
public bool CanBePaidWith(ManaPool pool) { Dictionary<MTGColor, int> manaRemaining = pool.GetManaRemaining(); return TryTakeMana(manaRemaining); }
public void PayWith(ManaPool pool) { Dictionary<MTGColor, int> manaRemaining = pool.GetManaRemaining(); if (!TryTakeMana(manaRemaining)) throw new NotSupportedException("Can't afford this payment!"); pool.SetManaRemaining(manaRemaining); }