Animated Float

// Animates a floating point value.
class RVAPI AnimFloat : public AnimValue
{
public:
    // Animate value.
    float Animate();

    // Start animation.
    void Start();

    // Stop animation.
    void Stop();

    // Clear animation.
    void Clear();

    // Reverse animation.
    void Reverse();

    // Set animation to run from [low] to [high] for [span] seconds using [mode] behavior. 
    // Set reverse to true to run animation in reverse.
    void Set(float span, float low, float high, Mode mode, bool reverse);

    // Internal.
    void *operator () () const { return (void *)wobj; }

    // Constructor.
    AnimFloat();

    // Destructor.
    ~AnimFloat();

private:
    byte wobj[64];
};