public void ChangeErfahrung_RaisesNoEvent() { var id = ImagoEntitaetFactory.GetNewEntitaet(ImagoAttribut.Staerke); var attribut = new Attribut(id); var args = new FaktischerWertChangedEventArgs(id); attribut.Erfahrung = 5; //todo //no assert available }
private void OnFaktischerWertChanged(FaktischerWertChangedEventArgs faktischerWertChangedEventArgs) { if (Fertigkeiten != null) { foreach (var item in Fertigkeiten) { item.NatuerlicherWert = this.FaktischerWert; } } FaktischerWertChanged?.Invoke(this, faktischerWertChangedEventArgs); }
public void HandleFaktischerWertAttributChanged(object sender, FaktischerWertChangedEventArgs args) { var collection = (AttributeCollection)sender; if (collection == null) { throw new ArgumentException("Der Sender ist keine AttributCollection oder null"); } if (args == null) { throw new ArgumentException("Das sendende Attribut konnte nicht erkannt werden: args == null"); } ImagoAttribut attribut = (ImagoAttribut)args.Entitaet.Identifier; if (attribut == null) { throw new ArgumentException("Das sendende Attribut konnte nicht erkannt werden: Casting-Fehler"); } #if debug Console.WriteLine("Event " + this.GetType().Name + ". Der faktische Wert von " + attribut.Name + " wurde geändert.") #endif var values = Attribute.GetFaktischeWerte(); foreach (var item in FertigkeitsKategorien) { var attributReferenzen = new List <ImagoAttribut>(item.AttributReferenzen); if (attributReferenzen.Contains(attribut)) { item.BerechneNatuerlicherWert(values); } } Initiative.BerechneNatuerlicherWert(values); SchadensMod.BerechneNatuerlicherWert(values); EgoRegeneration.BerechneNatuerlicherWert(values); Lastgrenze.BerechneNatuerlicherWert(values); if (attribut == ImagoAttribut.Konstitution) { foreach (var teil in Koerper) { teil.BerechneTrefferpunkte(values[ImagoAttribut.Konstitution]); } } }
public void ChangeModifikation_RaisesEvent() { var id = ImagoEntitaetFactory.GetNewEntitaet(ImagoAttribut.Staerke); var attribut = new Attribut(id); var args = new FaktischerWertChangedEventArgs(id); var evt = Assert.RaisesAny <FaktischerWertChangedEventArgs>( h => attribut.FaktischerWertChanged += h, h => attribut.FaktischerWertChanged -= h, () => attribut.Modifikation = 5); Assert.NotNull(evt); Assert.Equal(attribut, evt.Sender); Assert.Equal(args, evt.Arguments); }
public void ChangeModifikation_RaisesEvent() { var id = ImagoEntitaetFactory.GetNewEntitaet(ImagoFertigkeitsKategorie.Nahkampf); var kategorie = new FertigkeitsKategorie(id, new ImagoAttribut[] { ImagoAttribut.Staerke, ImagoAttribut.Staerke, ImagoAttribut.Staerke, ImagoAttribut.Staerke }, new Fertigkeit[] { }); var args = new FaktischerWertChangedEventArgs(id); var evt = Assert.RaisesAny <FaktischerWertChangedEventArgs>( h => kategorie.FaktischerWertChanged += h, h => kategorie.FaktischerWertChanged -= h, () => kategorie.Modifikation = 5); Assert.NotNull(evt); Assert.Equal(kategorie, evt.Sender); Assert.Equal(args, evt.Arguments); }
public virtual void OnFaktischerWertChanged(object sender, FaktischerWertChangedEventArgs args) { FaktischerWertChanged?.Invoke(this, args); }