mirror of
https://github.com/flame-engine/flame.git
synced 2025-11-02 20:13:50 +08:00
fix: doc/example/particles/readme, attempt to embed webm preview fix: doc/example/particles better sample for chaining refactor: Particle, dropped duration support
41 lines
1013 B
Dart
41 lines
1013 B
Dart
import 'dart:ui';
|
|
|
|
import 'package:flutter/foundation.dart';
|
|
|
|
import '../particle.dart';
|
|
import 'component.dart';
|
|
|
|
/// Base container for [Particle] instances to be attach
|
|
/// to a [Component] tree. Could be added either to [BaseGame]
|
|
/// or [ComposedComponent] as needed.
|
|
/// Proxies [Component] lifecycle hooks to nested [Particle].
|
|
class ParticleComponent extends Component {
|
|
Particle particle;
|
|
|
|
ParticleComponent({
|
|
@required this.particle,
|
|
});
|
|
|
|
/// This [Component] will be automatically destroyed
|
|
/// as soon as
|
|
@override
|
|
bool destroy() => particle.destroy();
|
|
|
|
/// Returns progress of the child [Particle]
|
|
/// so could be used by external code for something
|
|
double get progress => particle.progress;
|
|
|
|
/// Passes rendering chain down to the inset
|
|
/// [Particle] within this [Component].
|
|
@override
|
|
void render(Canvas canvas) {
|
|
particle.render(canvas);
|
|
}
|
|
|
|
/// Passes update chain to child [Particle].
|
|
@override
|
|
void update(double dt) {
|
|
particle.update(dt);
|
|
}
|
|
}
|