Ejemplo n.º 1
0
        public override void ReadElement(ManifestData Data)
        {
            int ID = 0;
            Data.Section(xmlName, () =>
            {
                if (Data.FlatName != "bemerkung")
                    throw new NotImplementedException();

                Bemerkung bem = new Bemerkung();
                bem.Read(Data, ID++);
                Bemerkungen.Add(bem);

                Data.NextElement();
            });
        }
Ejemplo n.º 2
0
        public void Read(ManifestData data)
        {
            data.NextElement();

            this.Name = data.getString("name");
            this.Author = data.getString("author");
            data.Section("universe", () =>
            {
                switch (data.Reader.Name)
                {
                    case "attribute":
                        Attribute.Read(Path + data.Reader.getString("path"));
                        break;
                    case "fertigkeiten":
                        Fertigkeiten.Read(Path + data.Reader.getString("path"));
                        break;

                    case "talente":
                        Talente.Read(Path + data.Reader.getString("path"));
                        break;
                    case "talentsections":
                        TalentSection.Read(Path + data.Reader.getString("path"));
                        break;

                    case "korperwerte":
                        Korperwerte.Read(Path + data.Reader.getString("path"));
                        break;
                    case "verletzungen":
                        Verletzungen.Read(Path + data.Reader.getString("path"));
                        break;

                    case "rassen":
                        Rassen.Read(Path + data.Reader.getString("path"));
                        break;
                    case "bachelorklassen":
                        BachelorKlassen.Read(Path + data.Reader.getString("path"));
                        break;
                    case "masterklassen":
                        MasterKlassen.Read(Path + data.Reader.getString("path"));
                        break;

                    case "gegenstande":
                        Gegenstande.Read(Path + data.Reader.getString("path"), name =>
                        {
                            switch ((Gegenstand.Kategorie)Enum.Parse(typeof(Gegenstand.Kategorie), name, true))
                            {
                                case Gegenstand.Kategorie.Nahkampfwaffe:
                                    return new NahkampfWaffe();
                                case Gegenstand.Kategorie.Fernkampfwaffe:
                                    return new FernkampfWaffe();
                                case Gegenstand.Kategorie.Schild:
                                    return new Schild();
                                case Gegenstand.Kategorie.Rustung:
                                    return new Rustung();
                                case Gegenstand.Kategorie.Gegenstand:
                                    return new Gegenstand();
                                default:
                                    throw new NotImplementedException();
                            }
                        });
                        break;

                    case "techniken":
                        Techniken.Read(Path + data.Reader.getString("path"));
                        break;

                    case "aktionen":
                        Aktionen.Read(Path + data.Reader.getString("path"));
                        break;

                    case "daten":
                        CharakterDaten.Read(Path + data.Reader.getString("path"));
                        break;

                    case "schadenstypen":
                        Schadenstypen.Read(Path + data.Reader.getString("path"));
                        break;

                    default:
                        throw new NotImplementedException();
                }
                data.NextElement();
            });
        }
        private void ReadBuffs(ManifestData data)
        {
            data.Section(() =>
            {
                switch (data.FlatName)
                {
                    case "attributsmodiauffertigkeiten":
                        StatischeBuffs.Fertigkeiten.add((BuffMan<Abbildung<Fertigkeit, int>>)new StandardStatischeAttributsModiAufFertigkeitenBuff().Create(null), 0);
                        break;
                    case "attributsmodiaufrettungswurfe":
                        StatischeBuffs.Fertigkeiten.add((BuffMan<Abbildung<Fertigkeit, int>>)new StandardStatischeAttributsModiAufRettungswurfeBuff().Create(null), 0);
                        break;
                    case "attributeauffertigkeiten":
                        StatischeBuffs.Fertigkeiten.add((BuffMan<Abbildung<Fertigkeit, int>>)new StandardStatischeAttributeAufFertigkeitenBuff().Create(null), 0);
                        break;
                    case "attributeaufrettungswurfe":
                        StatischeBuffs.Fertigkeiten.add((BuffMan<Abbildung<Fertigkeit, int>>)new StandardStatischeAttributeAufRettungswerteBuff().Create(null), 0);
                        break;
                    case "geschlechtattribute":
                        StatischeBuffs.Attribute.add((BuffMan<Abbildung<Attribut, int>>)new GeschlechtAttributeBuff(data.getAttribute("mannlich"), data.getAttribute("weiblich")).Create(null), 0);
                        break;
                    case "harteaufstatischeresistenzen":
                        StatischeBuffs.Resistenzen.add((BuffMan<Abbildung<Schadenstyp, int>>)new HarteAufStatischeResistenzenBuff().Create(null), 0);
                        break;
                    case "itemfertigkeitsboni":
                        DynamischeBuffs.Fertigkeiten.add((BuffMan<Abbildung<Fertigkeit, int>>)new StandardDynamischerItemFertigkeitsboni().Create(null), 0);
                        break;
                    case "itemharteboni":
                        DynamischeBuffs.Resistenzen.add((BuffMan<Abbildung<Schadenstyp, int>>)new StandardDynamischerItemHarteboni().Create(null), 0);
                        break;
                    case "ausrustungauffertigkeiten":
                        StatischeBuffs.Fertigkeiten.add((BuffMan<Abbildung<Fertigkeit, int>>)new StandardStatischerAusrustungAufFertigkeitenBuff().Create(null), 0);
                        break;
                    case "ausrustungharteboni":
                        StatischeBuffs.Resistenzen.add((BuffMan<Abbildung<Schadenstyp, int>>)new StandardStatischerAusrustungAufHarteBuff().Create(null), 0);
                        break;
                    case "aktioninitiativewert":
                        DynamischeBuffs.Fertigkeiten.add((BuffMan<Abbildung<Fertigkeit, int>>)new StandardDynamischerAktionsWertAufInitiative().Create(null), 0);
                        break;
                    case "aktioninitiativefertigkeit":
                        DynamischeBuffs.Fertigkeiten.add((BuffMan<Abbildung<Fertigkeit, int>>)new StandardDynamischerFertigkeitAufInitiative().Create(null), 0);
                        break;
                    default:
                        throw new NotImplementedException();
                }
                data.NextElement();
            });

            DynamischeBuffs.Fertigkeiten.add((BuffMan<Abbildung<Fertigkeit, int>>)new StandardDynamischeFertigkeitenBuff().Create(null), 0);
            DynamischeBuffs.Resistenzen.add((BuffMan<Abbildung<Schadenstyp, int>>)new StandardDynamischeResistenzenBuff().Create(null), 0);
        }
        public void Read(ManifestData data)
        {
            DynamischeBuffs = new CharakterDynamisch(data.Universe);
            StatischeBuffs = new CharakterStatisch(data.Universe);

            FertigkeitsGeber = Universe.Attribute.GetElemente(data.getStrings("fertigkeitsgeber"));
            SkillbareAttribute = Universe.Attribute.GetElemente(data.getStrings("skillbar"));

            data.NextElement();
            data.Section("charaktererstellungsdaten", () =>
            {
                switch (data.Reader.Name)
                {
                    case "attribute":
                        ReadAttribute(data);
                        break;
                    case "klassen":
                        ReadKlassen(data);
                        break;
                    case "fertigkeiten":
                        ReadFertigkeiten(data);
                        break;
                    case "now":
                        Now = data.getDateTime("date");
                        data.NextElement();
                        break;
                    case "buffs":
                        ReadBuffs(data);
                        break;
                    case "standardfertigkeiten":
                        StandardFertigkeiten = data.ReadAufzahlungFertigkeiten();
                        data.NextElement();
                        break;
                    default:
                        throw new NotImplementedException();
                }
            });
        }
Ejemplo n.º 5
0
 public override void ReadElement(ManifestData Data)
 {
     Clear();
     Data.Section("inventar", () =>
     {
         switch (Data.Reader.Name)
         {
             case "rustungen":
                 Data.Section(() =>
                 {
                     Rustungen.Add((Rustung)Data.getGegenstand("name"));
                     Data.NextElement();
                 });
                 break;
             case "schilde":
                 Data.Section(() =>
                 {
                     Schilde.Add((Schild)Data.getGegenstand("name"));
                     Data.NextElement();
                 });
                 break;
             case "nahkampfwaffen":
                 Data.Section(() =>
                 {
                     NahkampfWaffen.Add((NahkampfWaffe)Data.getGegenstand("name"));
                     Data.NextElement();
                 });
                 break;
             case "fernkampfwaffen":
                 Data.Section(() =>
                 {
                     FernkampfWaffen.Add((FernkampfWaffe)Data.getGegenstand("name"));
                     Data.NextElement();
                 });
                 break;
             case "gegenstande":
                 Data.Section(() =>
                 {
                     Gegenstand g = new Gegenstand();
                     g.Read(Data, 0);
                     Gegenstande.Add(g);
                     Data.NextElement();
                 });
                 break;
             default:
                 throw new NotImplementedException();
         }
     });
 }
Ejemplo n.º 6
0
 public override void ReadElement(ManifestData Data)
 {
     int i = 0;
     Data.Section("talente", () =>
     {
         Talente[i] = Data.getTalente("talente");
         FreieTalente[i++] = new List<Talent>(Data.getTalente("freie"));
         Data.NextElement();
     });
 }
Ejemplo n.º 7
0
 public override void ReadElement(ManifestData Data)
 {
     this.BachelorErlernteFertigkeiten = Universe.Fertigkeiten.GetElemente(Data.getStrings("bachelorerlerntefertigkeiten"));
     this.MasterErlernteFertigkeiten = Universe.Fertigkeiten.GetElemente(Data.getStrings("mastererlerntefertigkeiten"));
     int i = 0;
     Data.Section(xmlName, () =>
     {
         FertigkeitsWerte[i++] = Data.getFertigkeiten("fertigkeiten");
         Data.NextElement();
     });
     SummiereFertigkeiten();
 }
Ejemplo n.º 8
0
 public override void ReadElement(ManifestData Data)
 {
     Data.Section(xmlName, () =>
     {
         switch (Data.Reader.Name)
         {
             case "rp":
                 RP.ReadElement(Data);
                 break;
             case "klassen":
                 Klassen.ReadElement(Data);
                 break;
             case "attribute":
                 Attribute.ReadElement(Data);
                 break;
             case "fertigkeiten":
                 Fertigkeiten.ReadElement(Data);
                 break;
             case "talente":
                 Talente.ReadElement(Data);
                 break;
             case "bemerkungen":
                 Bemerkungen.ReadElement(Data);
                 break;
             case "inventar":
                 Inventar.ReadElement(Data);
                 break;
             default:
                 throw new NotImplementedException();
         }
     });
 }
Ejemplo n.º 9
0
        public override void Read(ManifestData reader, int ID)
        {
            base.Read(reader, ID);
            Master = reader.getBoolean("master");
            Fokus5 = reader.getBoolean("fokus5");
            Fokus10 = reader.getBoolean("fokus10");
            this.Attribute = reader.getAttribute("attribute");
            this.Daten = reader.Universe.CharakterDaten;
            this.Stufen = Master ? Daten.StufenMaster : Daten.StufenBachelor;

            Fertigkeiten = new List<Fertigkeit>();
            List<string[]> talente = new List<string[]>();
            Fertigkeitsmodi = new ZVektor<Fertigkeit>[Stufen];
            FertigkeitsmodiSummen = new ZVektor<Fertigkeit>[Stufen];
            for (int i = 0; i < Stufen; i++)
            {
                Fertigkeitsmodi[i] = new ZVektor<Fertigkeit>(reader.Universe.Fertigkeiten);
                FertigkeitsmodiSummen[i] = new ZVektor<Fertigkeit>(reader.Universe.Fertigkeiten);
            }

            reader.Section(() =>
            {
                switch (reader.FlatName)
                {
                    case "fertigkeiten":
                        Fertigkeiten.AddRange(reader.ReadAufzahlungFertigkeiten());
                        reader.NextElement();
                        break;
                    case "fertigkeitsmodi":
                        reader.Section(() =>
                        {
                            switch (reader.FlatName)
                            {
                                case "rate":
                                    float rate = reader.getFloat("rate");
                                    Fertigkeit fert = reader.getFertigkeit("fertigkeit");
                                    int alt = 0;
                                    int neu;
                                    for (int i = 0; i < Stufen; i++)
                                    {
                                        neu =(int)Math.Ceiling((i+1) * rate);
                                        Fertigkeitsmodi[i].Add(fert, neu - alt);
                                        alt = neu;
                                    }
                                    break;
                                default:
                                    throw new NotImplementedException();
                            }
                            reader.NextElement();
                        });
                        FertigkeitsmodiSummen[0] = Fertigkeitsmodi[0];
                        for (int i = 1; i < Stufen; i++)
                        {
                            FertigkeitsmodiSummen[i] = FertigkeitsmodiSummen[i - 1] + Fertigkeitsmodi[i];
                        }
                        break;
                    case "stufen":
                        reader.Section(() =>
                        {
                            talente.Add(reader.getStrings("talente"));
                            reader.NextElement();
                        });
                        break;
                    default:
                        throw new NotImplementedException();
                }
            });
            if (talente != null)
                TalentTags = talente.ToArray();
        }