public CardReplacer(Th06Converter parent, bool hideUntriedCards) { this.evaluator = new MatchEvaluator(match => { var number = int.Parse(match.Groups[1].Value, CultureInfo.InvariantCulture); var type = match.Groups[2].Value.ToUpperInvariant(); if (CardTable.ContainsKey(number)) { if (hideUntriedCards) { CardAttack attack; if (!parent.allScoreData.CardAttacks.TryGetValue(number, out attack) || !attack.HasTried()) { return((type == "N") ? "??????????" : "?????"); } } return((type == "N") ? CardTable[number].Name : string.Join( ", ", CardTable[number].Levels.Select(lv => lv.ToString()).ToArray())); } else { return(match.ToString()); } }); }
public CardReplacer(Th10Converter parent, bool hideUntriedCards) { this.evaluator = new MatchEvaluator(match => { var number = int.Parse(match.Groups[1].Value, CultureInfo.InvariantCulture); var type = match.Groups[2].Value.ToUpperInvariant(); if (CardTable.ContainsKey(number)) { if (type == "N") { if (hideUntriedCards) { var cards = parent.allScoreData.ClearData[CharaWithTotal.Total].Cards; SpellCard card; if (!cards.TryGetValue(number, out card) || !card.HasTried()) { return("??????????"); } } return(CardTable[number].Name); } else { return(CardTable[number].Level.ToString()); } } else { return(match.ToString()); } }); }
public CareerReplacer(Th10Converter parent) { this.evaluator = new MatchEvaluator(match => { var number = int.Parse(match.Groups[1].Value, CultureInfo.InvariantCulture); var chara = CharaWithTotalParser.Parse(match.Groups[2].Value); var type = int.Parse(match.Groups[3].Value, CultureInfo.InvariantCulture); Func <SpellCard, int> getCount; if (type == 1) { getCount = (card => card.ClearCount); } else { getCount = (card => card.TrialCount); } var cards = parent.allScoreData.ClearData[chara].Cards; if (number == 0) { return(Utils.ToNumberString(cards.Values.Sum(getCount))); } else if (CardTable.ContainsKey(number)) { SpellCard card; if (cards.TryGetValue(number, out card)) { return(Utils.ToNumberString(getCount(card))); } else { return("0"); } } else { return(match.ToString()); } }); }
public CareerReplacer(Th06Converter parent) { this.evaluator = new MatchEvaluator(match => { var number = int.Parse(match.Groups[1].Value, CultureInfo.InvariantCulture); var type = int.Parse(match.Groups[2].Value, CultureInfo.InvariantCulture); Func <CardAttack, int> getCount; if (type == 1) { getCount = (attack => attack.ClearCount); } else { getCount = (attack => attack.TrialCount); } if (number == 0) { return(Utils.ToNumberString(parent.allScoreData.CardAttacks.Values.Sum(getCount))); } else if (CardTable.ContainsKey(number)) { CardAttack attack; if (parent.allScoreData.CardAttacks.TryGetValue(number, out attack)) { return(Utils.ToNumberString(getCount(attack))); } else { return("0"); } } else { return(match.ToString()); } }); }