From e0c2708257bc349ce8645a1bcd20f2132a2e5225 Mon Sep 17 00:00:00 2001 From: alestiago Date: Thu, 21 Apr 2022 11:43:49 +0100 Subject: [PATCH] refactor: used children param --- lib/game/components/sparky_fire_zone.dart | 45 ++++++++++------------- 1 file changed, 20 insertions(+), 25 deletions(-) diff --git a/lib/game/components/sparky_fire_zone.dart b/lib/game/components/sparky_fire_zone.dart index 117760b7..44e670de 100644 --- a/lib/game/components/sparky_fire_zone.dart +++ b/lib/game/components/sparky_fire_zone.dart @@ -1,10 +1,10 @@ // ignore_for_file: avoid_renaming_method_parameters +import 'package:flame/components.dart'; import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:flutter/material.dart'; import 'package:pinball/game/game.dart'; import 'package:pinball_components/pinball_components.dart'; -import 'package:pinball_flame/pinball_flame.dart'; /// {@template sparky_fire_zone} /// Area positioned at the top left of the [Board] where the [Ball] @@ -12,31 +12,26 @@ import 'package:pinball_flame/pinball_flame.dart'; /// /// When a [Ball] hits [SparkyBumper]s, the bumper animates. /// {@endtemplate} -class SparkyFireZone extends Forge2DBlueprint { - @override - void build(Forge2DGame gameRef) { - gameRef.addContactCallback(SparkyBumperBallContactCallback()); - - addBlueprint(SparkyComputer()); - final sparkyTurboChargeSensor = SparkyTurboChargeSensor() - ..initialPosition = Vector2(-13, 49.8); - final sparkyAnimatronic = SparkyAnimatronic() - ..position = Vector2(-13.8, -58.2); +class SparkyFireZone extends Component with HasGameRef { + /// {@macro sparky_fire_zone} + SparkyFireZone() + : super( + children: [ + _SparkyBumper.a()..initialPosition = Vector2(-22.9, -41.65), + _SparkyBumper.b()..initialPosition = Vector2(-21.25, -57.9), + _SparkyBumper.c()..initialPosition = Vector2(-3.3, -52.55), + SparkyComputer(), + SparkyTurboChargeSensor()..initialPosition = Vector2(-13, -49.8), + SparkyAnimatronic()..position = Vector2(-13.8, -58.2), + ], + ); - final lowerLeftBumper = _SparkyBumper.a() - ..initialPosition = Vector2(-22.9, -41.65); - final upperLeftBumper = _SparkyBumper.b() - ..initialPosition = Vector2(-21.25, -57.9); - final rightBumper = _SparkyBumper.c() - ..initialPosition = Vector2(-3.3, -52.55); - - addAll([ - lowerLeftBumper, - upperLeftBumper, - rightBumper, - sparkyAnimatronic, - sparkyTurboChargeSensor, - ]); + @override + Future onLoad() async { + await super.onLoad(); + gameRef + ..addContactCallback(SparkyBumperBallContactCallback()) + ..addContactCallback(SparkyTurboChargeSensorBallContactCallback()); } }