#pragma once

#include <Animation3D.h>

#include "Block.h"

class BlockAnimation : public Framework::ReferenceCounter
{
private:
    Block* block;
    Framework::SkeletonAnimation* animation;

public:
    BlockAnimation(Block* block, Framework::SkeletonAnimation* animation);
    ~BlockAnimation();
    
    void appendAnimation(int boneId,
        double time,
        Framework::Vec3<float> pos,
        Framework::Vec3<float> rot);
    bool tick(double time);
    
    bool isFinished() const;
    Block* zBlock() const;
};