|
|
@@ -40,15 +40,18 @@ public class Skill implements DDProperty, DDPropertyChooser {
|
|
|
@Override
|
|
|
public boolean applySideEffects(DDCharacter to, DDCharacterClass toClass, int selectedIndex) {
|
|
|
toClass.addFeature(get(selectedIndex));
|
|
|
- ObserverDispatch.notifySubscribers(to.getSkills());
|
|
|
- to.getSkills().getSkill(getName()).ifPresent(ObserverDispatch::notifySubscribers);
|
|
|
+ doNotify(to);
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void undoSideEffects(DDCharacter to, DDCharacterClass toClass, int selectedIndex) {
|
|
|
toClass.removeFeature(get(selectedIndex));
|
|
|
+ doNotify(to);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void doNotify(DDCharacter to) {
|
|
|
ObserverDispatch.notifySubscribers(to.getSkills());
|
|
|
- to.getSkills().getSkill(getName()).ifPresent(ObserverDispatch::notifySubscribers);
|
|
|
+ ObserverDispatch.notifySubscribers(to.getSkills().getSkill(getName()));
|
|
|
}
|
|
|
}
|