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(); } }); }
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(); }