// Take the prices we get from the web, turn them into Card objects and add them to our cards Dict
        public void loadPrices(string priceContents)
        {
            Regex pattern = new Regex (@"^(.*)\s+\.\.\. (\d+) PLATINUM.*\.\.\.\s+(\d+) GOLD.*");

            if (cards == null) {
                cards = new Dictionary<string, Card> ();  // Shut up error bits
            }
            string cname;
            int plat;
            int gold;
            foreach (string line in priceContents.Split("\n"[0])) {
                // Example Data:
                // Accursed Jerkin ... 1 PLATINUM [23 auctions] ... 247 GOLD [50 auctions]
                if (pattern.IsMatch (line)) {
                    Match match = pattern.Match (line);
                    cname = match.Groups [1].Value;
                    plat = IntFromString (match.Groups [2].Value);
                    gold = IntFromString (match.Groups [3].Value);
                } else {
                    Debug.Log ("Did not match line " + line);
                    continue;
                }
                if (cname == "" || cname == null) {
                    continue;
                }

                if (cards.ContainsKey (cname)) {
                    cards [cname].gold = gold;
                    cards [cname].plat = plat;
                } else {
                    Card c = new Card (cname, gold, plat);
                    cards.Add (c.name, c);
                }
                // Something in here to make sure we have a least 1 of each Booster Pack for
                // price computations
                if (cname.Contains("Booster Pack")){
                    cards [cname].qty = 1;
                }
            }
        }
 // Load collection information from collection cache file
 public void loadCollection(string collectionCache)
 {
     if (! File.Exists (collectionCache)) {
         string path = Application.dataPath;
         Debug.Log ("Collection Cache '" + collectionCache + "' does not exist in my application data path of " + path);
         return;
     }
     // Save this info for later
     collectionCacheFile = collectionCache;
     string collectionLines = File.ReadAllText (collectionCache);
     Regex pattern = new Regex (@"^(\d+)\s:\s(.*?)\s*$");
     foreach (string line in collectionLines.Split("\n"[0])) {
         // Example line:
         // 5 : Adamanthian Scrivener
         if (pattern.IsMatch (line)) {
             Match match = pattern.Match (line);
             int qty = IntFromString (match.Groups [1].Value);
             string cardName = match.Groups [2].Value;
     //					Debug.Log ("Checking if cards contains the key for " + cardName + " to add " + qty + " copies");
             if (cards.ContainsKey (cardName)) {
     //						Debug.Log ("Adding " + qty + " copies of " + cardName);
                 cards [cardName].qty = qty;
             } else {
     //						Debug.Log ("cards Dict has " + cards.Count + " entries, but none for our card. Creating new card for " + cardName + " and adding " + qty + " copies of it");
                 Card c = new Card (cardName);
                 c.qty = qty;
                 cards.Add (cardName, c);
             }
         }
     }
 }