AnimationEvent fix?

Hi.

I was trying to use AnimChannels together with AnimationEvent and noticed it wasn’t applying them.
It seems they’re never set.

Here’s a patch for it (if it’s just not me not using it correctly):
[java]
Index: AnimationEvent.java

— AnimationEvent.java (revision 11001)
+++ AnimationEvent.java (working copy)
@@ -221,6 +221,24 @@
initialDuration = model.getControl(AnimControl.class).getAnimationLength(animationName);
this.channelIndex = channelIndex;
}
+

  • /**

  • * creates an animation event
    
  • *
    
  • * @param model the model on which the animation will be played
    
  • * @param animationName the name of the animation to play
    
  • * @param channelIndex the index of the channel default is 0. Events on the
    
  • * @param blendTime the time during the animation are gonna be blended
    
  • * same channelIndex will use the same channel.
    
  • */
    
  • public AnimationEvent(Spatial model, String animationName, LoopMode loopMode, int channelIndex, float blendTime) {

  •    this.model = model;
    
  •    this.animationName = animationName;
    
  •    this.loopMode = loopMode;
    
  •    initialDuration = model.getControl(AnimControl.class).getAnimationLength(animationName);
    
  •    this.channelIndex = channelIndex;
    
  •    this.blendTime = blendTime;
    
  • }

    /**

    • creates an animation event
      @@ -264,11 +282,16 @@
      Object s = cinematic.getEventData(MODEL_CHANNELS, model);
      if (s == null) {
      s = new HashMap<Integer, AnimChannel>();
  •            int numChannels = model.getControl(AnimControl.class).getNumChannels();
    
  •            for(int i = 0; i < numChannels; i++){
    
  •                ((HashMap<Integer, AnimChannel>)s).put(i, model.getControl(AnimControl.class).getChannel(i));
    
  •            }
               cinematic.putEventData(MODEL_CHANNELS, model, s);
           }
    
           Map<Integer, AnimChannel> map = (Map<Integer, AnimChannel>) s;
           this.channel = map.get(channelIndex);
    
  •        if (this.channel == null) {
               if (model == null) {
                   //the model is null we try to find it according to the name
    

[/java]

This particular patch also includes an additional constructor i wanted.