#include "anim_concurrent.h"
-AnimConcurrent::AnimConcurrent() {}
+AnimConcurrent::AnimConcurrent(Model *model) : Anims(model) {}
AnimConcurrent::~AnimConcurrent() {}
}
}
-void AnimConcurrent::do_draw(Model *m) {
+void AnimConcurrent::do_draw() {
for (auto &anim : anims) {
- anim->do_draw(m);
+ anim->do_draw();
}
}
class AnimConcurrent : public Anims {
public:
- AnimConcurrent();
+ AnimConcurrent(Model *model);
~AnimConcurrent() override;
bool is_done() override;
void do_update(float dt) override;
- void do_draw(Model *m) override;
+ void do_draw() override;
void push_anim(UPtr &&p);
#include "anim_sequence.h"
-AnimSequence::AnimSequence() {}
+AnimSequence::AnimSequence(Model *model) : Anims(model) {}
AnimSequence::~AnimSequence() {}
}
}
-void AnimSequence::do_draw(Model *m) {
+void AnimSequence::do_draw() {
if (!anims.empty()) {
- anims.front()->do_draw(m);
+ anims.front()->do_draw();
}
}
class AnimSequence : public Anims {
public:
- AnimSequence();
+ AnimSequence(Model *model);
~AnimSequence() override;
bool is_done() override;
void do_update(float dt) override;
- void do_draw(Model *m) override;
+ void do_draw() override;
void push_anim(UPtr &&p);
using UPtr = std::unique_ptr<Anims>;
using SPtr = std::shared_ptr<Anims>;
- Anims() {}
+ Anims(Model *model) : model(model) {}
virtual ~Anims() {}
virtual bool is_done() = 0;
virtual void do_update(float dt) = 0;
- virtual void do_draw(Model *m) = 0;
+ virtual void do_draw() = 0;
+
+ protected:
+ Model *model;
};
#endif