From 3afb145c88852436f48f7e0a47c6776f1b7392f8 Mon Sep 17 00:00:00 2001 From: alestiago Date: Mon, 11 Apr 2022 11:05:14 +0100 Subject: [PATCH] feat: defined GoogleLetterActivationEffect --- .../lib/src/components/google_letter.dart | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/packages/pinball_components/lib/src/components/google_letter.dart b/packages/pinball_components/lib/src/components/google_letter.dart index 038e2a89..1718faa9 100644 --- a/packages/pinball_components/lib/src/components/google_letter.dart +++ b/packages/pinball_components/lib/src/components/google_letter.dart @@ -1,4 +1,5 @@ import 'package:flame/components.dart'; +import 'package:flame/effects.dart'; import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:flutter/material.dart'; import 'package:pinball_components/pinball_components.dart'; @@ -50,12 +51,20 @@ class _GoogleLetterSprite extends SpriteComponent with HasGameRef { // TODO(alestiago): Correctly implement activate and deactivate once the // assets are provided. - void activate() { - tint(Colors.green); + Future activate() async { + const color = Colors.green; + tint(color); + await add( + _GoogleLetterActivationEffect(color: color), + ); } - void deactivate() { - tint(Colors.red); + Future deactivate() async { + const color = Colors.red; + tint(color); + await add( + _GoogleLetterActivationEffect(color: color), + ); } @override @@ -68,3 +77,13 @@ class _GoogleLetterSprite extends SpriteComponent with HasGameRef { anchor = Anchor.center; } } + +class _GoogleLetterActivationEffect extends ColorEffect { + _GoogleLetterActivationEffect({ + required Color color, + }) : super( + color, + const Offset(0, 1), + EffectController(duration: 0.25), + ); +}