Ejemplo n.º 1
0
            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());
                    }
                });
            }
Ejemplo n.º 4
0
            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());
                    }
                });
            }