diff options
author | Andrei Karas <akaras@inbox.ru> | 2016-07-23 02:14:30 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2016-07-23 02:14:30 +0300 |
commit | 6a65a4cf5b6b10839254c0c5846ec2dbfea882f8 (patch) | |
tree | cdf1dcc071ab18575defff569d33f3cbc8be0348 /src/being/actorsprite.h | |
parent | 1a5f8957c707625efbcf36722b057d5eda5a21bb (diff) | |
download | ManaVerse-6a65a4cf5b6b10839254c0c5846ec2dbfea882f8.tar.gz ManaVerse-6a65a4cf5b6b10839254c0c5846ec2dbfea882f8.tar.bz2 ManaVerse-6a65a4cf5b6b10839254c0c5846ec2dbfea882f8.tar.xz ManaVerse-6a65a4cf5b6b10839254c0c5846ec2dbfea882f8.zip |
Allow delete untracker being particle effects.
This fix some possible memory leaks.
Diffstat (limited to 'src/being/actorsprite.h')
-rw-r--r-- | src/being/actorsprite.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/being/actorsprite.h b/src/being/actorsprite.h index 6f5c020c2..c06f1c983 100644 --- a/src/being/actorsprite.h +++ b/src/being/actorsprite.h @@ -81,9 +81,14 @@ class ActorSprite notfinal : public CompoundSprite, public Actor { return BlockType::NONE; } /** - * Take control of a particle. + * Take control of a particle. Particle can be auto deleted. */ - void controlParticle(Particle *const particle); + void controlAutoParticle(Particle *const particle); + + /** + * Take control of a particle. Owner must remove particle by self. + */ + void controlCustomParticle(Particle *const particle); /** * Returns the required size of a target cursor for this being. @@ -190,6 +195,8 @@ class ActorSprite notfinal : public CompoundSprite, public Actor mChildParticleEffects.size(); } + void controlParticleDeleted(Particle *const particle); + protected: /** * A status effect block is a 16 bit mask of status effects. We assign |