Beispiel #1
0
 public TechtreeSchiff(Match m, String DBPrefix)
     : base("schiff", DBPrefix)
 {
     this.name = m.Groups[1].Value;
     TechtreeItemStufe stufe = new TechtreeItemStufe(m.Groups[2].Value);
     stufe.ParseDauer(m.Groups[3].Value);
     this.stufen.Add(stufe.Stufe, stufe);
 }
Beispiel #2
0
 protected TechtreeForschung(Match m, String DBPrefix)
     : base("for", DBPrefix)
 {
     this.maxLevel = 1;
     this.name = m.Groups[1].Value;
     this.gebiet = m.Groups[3].Value;
     this.beschreibung = m.Groups[4].Value;
     TechtreeItemStufe stufe = new TechtreeItemStufe(m.Groups[6].Value);
     this.stufen.Add(stufe.Stufe, stufe);
     BedingungsParser(m.Groups[7].Value, benForschungen);
     BedingungsParser(m.Groups[8].Value, benGebs);
     BedingungsParser(m.Groups[10].Value, ermForschungen);
     BedingungsParser(m.Groups[11].Value, ermGebs);
     List<String> ermStufen = new List<string>();
     BedingungsParser(m.Groups[12].Value, ermStufen);
     foreach (String str in ermStufen) {
         String[] parts = str.Split(new string[] { " Stufe " }, StringSplitOptions.None);
         ermGebs.Remove(parts[0]);
     }
     ermGebs.AddRange(ermStufen);
     BedingungsParser(m.Groups[13].Value, ermDef);
 }
Beispiel #3
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);
        }