Commit a3a0aaa3 authored by Lázár Bence Kis's avatar Lázár Bence Kis
Browse files

AnimationPlayer is not an IAnimation anymore

parent 33e7fa70
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -7,19 +7,20 @@

namespace anim {

struct AnimationPlayer : public IAnimation {
    AnimationPlayer(std::string const &name, IAnimation* animation, com::Folder* object_root) : IAnimation{ name }, m_animation{animation}, m_object_root{object_root} {}
struct AnimationPlayer : public com::File {
    AnimationPlayer(std::string const &name, IAnimation* animation, com::Folder* object_root) : com::File{ name }, m_animation{animation}, m_object_root{object_root} {}
    
    virtual void apply_values(scalar dt);
    virtual void get_values(AnimEvalBuffer& values, com::Folder* object_root, scalar t) = 0;

    void play() { m_paused = false; m_reversed = false; }
    void play_reversed() { m_paused = false; m_reversed = true; }
    void pause() { m_paused = true; }
    void stop() { m_paused = true; m_time = 0.0f; }

    scalar length() const override { return animation()->length(); }
    scalar start_time() const override { return animation()->start_time(); }
    scalar end_time() const override { return animation()->end_time(); }
    scalar length() const { return animation()->length(); }
    scalar start_time() const { return animation()->start_time(); }
    scalar end_time() const { return animation()->end_time(); }

    IAnimation* animation() const { return m_animation; }
    scalar speed() const { return m_speed; }
+1 −1
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ void Animator::next_round()
    scalar dt = osi::timer()->dt();

    auto player_folder = anim::animation_system()->players();
    for (auto anim_player : player_folder->subfolders()) {
    for (auto anim_player : player_folder->items()) {
        if (auto player = dynamic_cast<anim::AnimationPlayer*>(anim_player)) {
            player->apply_values(dt);
        }