mirror of
https://github.com/flame-engine/flame.git
synced 2025-11-08 23:56:07 +08:00
Only return active effects
This commit is contained in:
@ -84,5 +84,7 @@ abstract class Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Get a copy of the list of non removed effects
|
/// Get a copy of the list of non removed effects
|
||||||
List<ComponentEffect> get effects => List<ComponentEffect>.from(_effects);
|
List<ComponentEffect> get effects {
|
||||||
|
return List<ComponentEffect>.from(_effects)..where((e) => !e.hasFinished());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -75,9 +75,8 @@ class CombinedEffect extends PositionComponentEffect {
|
|||||||
void _updateEffect(PositionComponentEffect effect, double dt) {
|
void _updateEffect(PositionComponentEffect effect, double dt) {
|
||||||
final isReverse = curveDirection.isNegative;
|
final isReverse = curveDirection.isNegative;
|
||||||
final initialOffset = effects.indexOf(effect) * offset;
|
final initialOffset = effects.indexOf(effect) * offset;
|
||||||
final effectOffset = isReverse
|
final effectOffset =
|
||||||
? peakTime - effect.peakTime - initialOffset
|
isReverse ? peakTime - effect.peakTime - initialOffset : initialOffset;
|
||||||
: initialOffset;
|
|
||||||
final passedOffset = isReverse ? peakTime - currentTime : currentTime;
|
final passedOffset = isReverse ? peakTime - currentTime : currentTime;
|
||||||
if (!effect.hasFinished() && effectOffset < passedOffset) {
|
if (!effect.hasFinished() && effectOffset < passedOffset) {
|
||||||
final time =
|
final time =
|
||||||
|
|||||||
Reference in New Issue
Block a user