applyBehaviour(particle, time, index) {
    if (this.b) {
      this.calculate(particle, time, index);

      particle.rgb.r = particle.data.colorB.r + (particle.data.colorA.r - particle.data.colorB.r) * this.energy;
      particle.rgb.g = particle.data.colorB.g + (particle.data.colorA.g - particle.data.colorB.g) * this.energy;
      particle.rgb.b = particle.data.colorB.b + (particle.data.colorA.b - particle.data.colorB.b) * this.energy;

      particle.rgb.r = particle.rgb.r << 0;
      particle.rgb.g = particle.rgb.g << 0;
      particle.rgb.b = particle.rgb.b << 0;
    } else {
      particle.rgb.r = particle.data.colorA.r;
      particle.rgb.g = particle.data.colorA.g;
      particle.rgb.b = particle.data.colorA.b;
    }
  }
Apply this behaviour for all particles every time

@method applyBehaviour
@memberof Proton#Proton.Color
@instance

@param {Proton.Particle} particle
@param {Number} the integrate time 1/ms
@param {Int} the particle index