controller property
AnimationController?
get
controller
Implementation
AnimationController? get controller {
var parents = Queue<Animation<double>>();
parents.add(parent!);
while (parents.isNotEmpty) {
var parent = parents.removeFirst();
if (parent is AnimationController) {
return parent;
}
final parentsToAdd = <Animation<double>>[];
if (parent is AnimationWithParentMixin) {
parentsToAdd.add(
(parent as AnimationWithParentMixin).parent as Animation<double>,
);
} else if (parent is ProxyAnimation) {
parentsToAdd.add(parent.parent as Animation<double>);
} else if (parent is CurvedAnimation) {
parentsToAdd.add(parent.parent);
} else if (parent is ReverseAnimation) {
parentsToAdd.add(parent.parent);
} else if (parent is CompoundAnimation) {
parentsToAdd
.add((parent as CompoundAnimation).first as Animation<double>);
parentsToAdd
.add((parent as CompoundAnimation).next as Animation<double>);
} else if (parent is TrainHoppingAnimation) {
// TODO: Next train?
parentsToAdd.add(parent.currentTrain as Animation<double>);
}
parents.addAll(parentsToAdd);
}
return null;
}