Beispiel #1
0
        private TechtreeNormGeb(Match m, String DBPrefix)
            : base(DBPrefix)
        {
            this.name = m.Groups[1].Value;
            this.beschreibung = m.Groups[2].Value;
            String[] kostenZeilen = m.Groups[4].Value.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);
            if (kostenZeilen.Length == 1) {
                cls = ItemClass.Normal;
            } else {
                cls = ItemClass.UnechtesStufengeb;
            }
            foreach (String kosten in kostenZeilen) {
                TechtreeItemStufe stufe = new TechtreeItemStufe(kosten);
                stufe.ParseDauer(m.Groups[5].Value);
                stufe.ParseBringt(m.Groups[6].Value);
                stufe.ParseLaufendeKosten(m.Groups[7].Value);
                if (m.Groups[3].Success) {
                    cls = ItemClass.Stufengeb;
                    stufe.Stufe = int.Parse(m.Groups[3].Value);
                }
                this.stufen.Add(stufe.Stufe, stufe);
            }

            if (m.Groups[8].Success) {
                this.maxLevel = int.Parse(m.Groups[8].Value);
            }

            BedingungsParser(m.Groups[9].Value, benForschungen);
            BedingungsParser(m.Groups[10].Value, benGebs);
            benPlanityp = m.Groups[11].Value;
            benKolotyp = m.Groups[12].Value;
            zerstörungDurch.AddRange(m.Groups[13].Value.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries));
            BedingungsParser(m.Groups[14].Value, ermForschungen);
            BedingungsParser(m.Groups[15].Value, ermGebs);
        }