diff options
Diffstat (limited to 'src/animation_system.cpp')
| -rw-r--r-- | src/animation_system.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
| diff --git a/src/animation_system.cpp b/src/animation_system.cpp index ce5cc02..73d30d5 100644 --- a/src/animation_system.cpp +++ b/src/animation_system.cpp | |||
| @@ -166,6 +166,25 @@ void AnimationSystem::tick(double dt) { | |||
| 166 | } | 166 | } |
| 167 | } | 167 | } |
| 168 | } | 168 | } |
| 169 | |||
| 170 | fadingTimer_.accumulate(dt); | ||
| 171 | while (fadingTimer_.step()) { | ||
| 172 | for (Sprite& sprite : game_.getSprites() | game_.spriteView()) { | ||
| 173 | if (sprite.isAnimated) { | ||
| 174 | if (sprite.shouldBeFadedIn && sprite.opacity < 1.0) { | ||
| 175 | sprite.opacity += 0.05; | ||
| 176 | if (sprite.opacity > 1.0) { | ||
| 177 | sprite.opacity = 1.0; | ||
| 178 | } | ||
| 179 | } else if (!sprite.shouldBeFadedIn && sprite.opacity > 0.0) { | ||
| 180 | sprite.opacity -= 0.05; | ||
| 181 | if (sprite.opacity < 0.0) { | ||
| 182 | sprite.opacity = 0.0; | ||
| 183 | } | ||
| 184 | } | ||
| 185 | } | ||
| 186 | } | ||
| 187 | } | ||
| 169 | } | 188 | } |
| 170 | 189 | ||
| 171 | void AnimationSystem::setSpriteDirection(int spriteId, Direction dir) { | 190 | void AnimationSystem::setSpriteDirection(int spriteId, Direction dir) { |
