public void ForEachSavedCard(cardFunction f)
 {
     for(int i = 0; i < _SaveCards.Count; i++)
     {
         f(_SaveCards[i]);
     }
 }
 public void ForEachUnitOnField(cardFunction f)
 {
     Game.field.InitFieldIterator();
     while(Game.field.HasNextField())
     {
         Card tmp = Game.field.CurrentFieldCard();
         if(tmp != null)
         {
             f(tmp);
         }
     }
 }
 public void ForEachEnemyUnitOnField(cardFunction f)
 {
     Card tmp;
     tmp = Game.enemyField.GetCardAt(EnemyFieldPosition.FRONT_LEFT); if(tmp != null) f(tmp);
     tmp = Game.enemyField.GetCardAt(EnemyFieldPosition.FRONT_RIGHT); if(tmp != null) f(tmp);
     tmp = Game.enemyField.GetCardAt(EnemyFieldPosition.VANGUARD); if(tmp != null) f(tmp);
     tmp = Game.enemyField.GetCardAt(EnemyFieldPosition.REAR_LEFT); if(tmp != null) f(tmp);
     tmp = Game.enemyField.GetCardAt(EnemyFieldPosition.REAR_RIGHT); if(tmp != null) f(tmp);
     tmp = Game.enemyField.GetCardAt(EnemyFieldPosition.REAR_CENTER); if(tmp != null) f(tmp);
 }