/// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="Timer">The timer for the cooldown.</param>
 /// <param name="value">The max value for the cooldown.</param>
 /// <param name="decrementValue">How much to decrement the cool down each time time timer expires.</param>
 public FrameCooldown(FrameTimer Timer, double value, double decrementValue) : base(value, decrementValue)
 {
     this.timer             = Timer;
     this.timer.autoRestart = true;
     this.timer.onFinished  = this.decrementCoolDown;
 }
 /// <summary>
 /// Resets the frame timer to it's initial values but has it disabled.
 /// </summary>
 public void reset()
 {
     this.timer   = new FrameTimer(this.timer.maxLifespan, this.decrementCoolDown, true);
     this.enabled = false;
 }
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="NumberOfFrames">The number of frames for the timer until it expires.</param>
 /// <param name="Value">The value for the cooldown.</param>
 /// <param name="DecrementAmount">The value to decrement the cooldown each time the timer expires.</param>
 public FrameCooldown(int NumberOfFrames, double Value, double DecrementAmount) : base(Value, DecrementAmount)
 {
     this.timer = new FrameTimer(NumberOfFrames, decrementCoolDown, true);
 }