Пример #1
0
        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++;
                }
            }
        }
Пример #2
0
        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);
                }
            }
        }