diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/being/actorsprite.h | 2 | ||||
-rw-r--r-- | src/particle/particlevector.cpp | 12 | ||||
-rw-r--r-- | src/particle/particlevector.h | 2 |
3 files changed, 15 insertions, 1 deletions
diff --git a/src/being/actorsprite.h b/src/being/actorsprite.h index c06f1c983..5373b30dc 100644 --- a/src/being/actorsprite.h +++ b/src/being/actorsprite.h @@ -191,7 +191,7 @@ class ActorSprite notfinal : public CompoundSprite, public Actor size_t getParticlesCount() const { - return mStatusParticleEffects.size() + + return mStatusParticleEffects.usedSize() + mChildParticleEffects.size(); } diff --git a/src/particle/particlevector.cpp b/src/particle/particlevector.cpp index d0594a2dd..a38db6d01 100644 --- a/src/particle/particlevector.cpp +++ b/src/particle/particlevector.cpp @@ -95,3 +95,15 @@ void ParticleVector::moveTo(const float x, const float y) } } } + +size_t ParticleVector::usedSize() const +{ + size_t cnt = 0; + for (std::vector<Particle *>::const_iterator it = mIndexedElements.begin(); + it != mIndexedElements.end(); ++it) + { + if (*it) + cnt ++; + } + return cnt; +} diff --git a/src/particle/particlevector.h b/src/particle/particlevector.h index 68589e4e1..d8ec917c9 100644 --- a/src/particle/particlevector.h +++ b/src/particle/particlevector.h @@ -62,6 +62,8 @@ class ParticleVector final : public ParticleContainer size_t size() const { return mIndexedElements.size(); } + size_t usedSize() const; + protected: std::vector<Particle *> mIndexedElements; }; |