import 'dart:async'; import 'dart:ui'; import 'package:flame/collisions.dart'; import 'package:funny_letters/runner/bonuses/bonus.dart'; import 'package:funny_letters/runner/player.dart'; import 'package:flame/components.dart'; import 'package:funny_letters/gen/assets.gen.dart'; import '../../main.dart'; import 'letter_bonus.dart'; class HealthBonus extends PositionComponent with CollisionCallbacks, Bonus, HasGameRef { HealthBonus(Vector2 size) { this.size = size; } @override FutureOr onLoad() async { final sprite = await gameRef.loadSprite(Assets.images.match3Heart.path); addAll( [ RoundedComponent( size: size, color: const Color(0xffE7513D), cornerRadius: size.x / 6, shadow: true, ), SpriteComponent( sprite: sprite, anchor: Anchor.center, position: size * 0.5, size: size, ), RectangleHitbox( size: this.size * 0.9, position: size / 2, anchor: Anchor.center, ), ], ); } @override Future activate(Player player) async { super.activate(player); player.heal(); } }