From ae8d6ab5765fbe09fee8003f48d8e0bf372cb370 Mon Sep 17 00:00:00 2001 From: Stephen Seo Date: Tue, 17 Jan 2023 14:06:25 +0900 Subject: [PATCH] Change anims to have Model* as member variable --- src/3d/anim_concurrent.cc | 6 +++--- src/3d/anim_concurrent.h | 4 ++-- src/3d/anim_sequence.cc | 6 +++--- src/3d/anim_sequence.h | 4 ++-- src/3d/anims.h | 7 +++++-- 5 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/3d/anim_concurrent.cc b/src/3d/anim_concurrent.cc index 4475d77..5dc66f1 100644 --- a/src/3d/anim_concurrent.cc +++ b/src/3d/anim_concurrent.cc @@ -1,6 +1,6 @@ #include "anim_concurrent.h" -AnimConcurrent::AnimConcurrent() {} +AnimConcurrent::AnimConcurrent(Model *model) : Anims(model) {} AnimConcurrent::~AnimConcurrent() {} @@ -17,9 +17,9 @@ void AnimConcurrent::do_update(float dt) { } } -void AnimConcurrent::do_draw(Model *m) { +void AnimConcurrent::do_draw() { for (auto &anim : anims) { - anim->do_draw(m); + anim->do_draw(); } } diff --git a/src/3d/anim_concurrent.h b/src/3d/anim_concurrent.h index 89def91..a773187 100644 --- a/src/3d/anim_concurrent.h +++ b/src/3d/anim_concurrent.h @@ -8,13 +8,13 @@ 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); diff --git a/src/3d/anim_sequence.cc b/src/3d/anim_sequence.cc index 4dd1560..81d0c90 100644 --- a/src/3d/anim_sequence.cc +++ b/src/3d/anim_sequence.cc @@ -1,6 +1,6 @@ #include "anim_sequence.h" -AnimSequence::AnimSequence() {} +AnimSequence::AnimSequence(Model *model) : Anims(model) {} AnimSequence::~AnimSequence() {} @@ -15,9 +15,9 @@ void AnimSequence::do_update(float dt) { } } -void AnimSequence::do_draw(Model *m) { +void AnimSequence::do_draw() { if (!anims.empty()) { - anims.front()->do_draw(m); + anims.front()->do_draw(); } } diff --git a/src/3d/anim_sequence.h b/src/3d/anim_sequence.h index d88ddab..d08d615 100644 --- a/src/3d/anim_sequence.h +++ b/src/3d/anim_sequence.h @@ -8,13 +8,13 @@ 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); diff --git a/src/3d/anims.h b/src/3d/anims.h index 10e22bb..1411fed 100644 --- a/src/3d/anims.h +++ b/src/3d/anims.h @@ -12,13 +12,16 @@ class Anims { using UPtr = std::unique_ptr; using SPtr = std::shared_ptr; - 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 -- 2.49.0