1 package net.sf.josceleton.motion.impl.gesture;
2
3 import net.sf.josceleton.core.api.entity.joint.Skeleton;
4 import net.sf.josceleton.core.impl.async.DefaultAsync;
5 import net.sf.josceleton.motion.api.gesture.Gesture;
6 import net.sf.josceleton.motion.api.gesture.GestureConfig;
7 import net.sf.josceleton.motion.api.gesture.GestureListener;
8
9
10
11
12 public abstract class AbstractGesture<C extends GestureConfig, L extends GestureListener>
13 extends DefaultAsync<L>
14 implements Gesture<C, L> {
15
16
17
18
19 protected final void dispatchGestureDetected(final Skeleton skeleton) {
20 for (final L listener : this.getListeners()) {
21 listener.onGestureDetected(skeleton);
22 }
23 }
24
25 }