mirror of
				https://github.com/flame-engine/flame.git
				synced 2025-11-03 20:36:31 +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);
 | 
						|
  }
 | 
						|
}
 |