Line data Source code
1 : import 'dart:ui'; 2 : 3 : import '../../extensions.dart'; 4 : import '../components/mixins/single_child_particle.dart'; 5 : import 'particle.dart'; 6 : 7 : /// Statically offset given child [Particle] by given [Vector2]. 8 : /// 9 : /// If you're looking to move the child, consider MovingParticle. 10 : class TranslatedParticle extends Particle with SingleChildParticle { 11 : @override 12 : Particle child; 13 : 14 : final Vector2 offset; 15 : 16 0 : TranslatedParticle({ 17 : required this.child, 18 : required this.offset, 19 : double? lifespan, 20 0 : }) : super(lifespan: lifespan); 21 : 22 0 : @override 23 : void render(Canvas c) { 24 0 : c.save(); 25 0 : c.translateVector(offset); 26 0 : super.render(c); 27 0 : c.restore(); 28 : } 29 : }