public void SteigereFertigkeit(ref SteigerbareFertigkeitBase fertigkeit) { var oldValue = fertigkeit.SteigerungsWert; _fertigkeitVeraendernService.SteigereFertigkeit(ref fertigkeit); //uebertragen der ep auf die attribute. noch nicht umgesetzt, da der anwender dafuer ein attribut auswaehlen muss. //optionen: event und vermerken der moeglichen steigerungen in attributecollection if (fertigkeit is FertigkeitsKategorie) { } //uebertragen der ep auf die kategorie, bei steigern einer fertigkeit if (fertigkeit is Fertigkeit) { if (fertigkeit.SteigerungsWert != oldValue) { var parent = FertigkeitsKategorien.GetParent((Fertigkeit)fertigkeit); parent.Erfahrung++; } } }
public void ReduziereFertigkeit(ref SteigerbareFertigkeitBase fertigkeit) { if (fertigkeit is Attribut) { _fertigkeitVeraendernService.ReduziereFertigkeit(ref fertigkeit); } if (fertigkeit is FertigkeitsKategorie) { //kategorie reduzieren nur moeglich, wenn ein passendes attribut ep hat //mMn nicht umsetzen } if (fertigkeit is Fertigkeit) { //fertigkeit reduzieren nur moeglich, wenn kategorie mind 1 ep hat var parent = FertigkeitsKategorien.GetParent((Fertigkeit)fertigkeit); if (parent.Erfahrung > 0) { parent.Erfahrung--; _fertigkeitVeraendernService.ReduziereFertigkeit(ref fertigkeit); } } }