refactor: moved ball assets to pinball_theme

pull/279/head
RuiAlonso 3 years ago
parent 527e923fdb
commit 73274e56c7

@ -17,7 +17,7 @@ class ControlledBall extends Ball with Controls<BallController> {
/// A [Ball] that launches from the [Plunger]. /// A [Ball] that launches from the [Plunger].
ControlledBall.launch({ ControlledBall.launch({
required CharacterTheme characterTheme, required CharacterTheme characterTheme,
}) : super(baseColor: characterTheme.ballColor) { }) : super(spriteAsset: characterTheme.ball.keyName) {
controller = BallController(this); controller = BallController(this);
layer = Layer.launcher; layer = Layer.launcher;
zIndex = ZIndexes.ballOnLaunchRamp; zIndex = ZIndexes.ballOnLaunchRamp;
@ -28,13 +28,13 @@ class ControlledBall extends Ball with Controls<BallController> {
/// {@endtemplate} /// {@endtemplate}
ControlledBall.bonus({ ControlledBall.bonus({
required CharacterTheme characterTheme, required CharacterTheme characterTheme,
}) : super(baseColor: characterTheme.ballColor) { }) : super(spriteAsset: characterTheme.ball.keyName) {
controller = BallController(this); controller = BallController(this);
zIndex = ZIndexes.ballOnBoard; zIndex = ZIndexes.ballOnBoard;
} }
/// [Ball] used in [DebugPinballGame]. /// [Ball] used in [DebugPinballGame].
ControlledBall.debug() : super(baseColor: const Color(0xFFFF0000)) { ControlledBall.debug() : super() {
controller = BallController(this); controller = BallController(this);
zIndex = ZIndexes.ballOnBoard; zIndex = ZIndexes.ballOnBoard;
} }

@ -15,10 +15,10 @@ extension PinballGameAssetsX on PinballGame {
return [ return [
images.load(components.Assets.images.boardBackground.keyName), images.load(components.Assets.images.boardBackground.keyName),
images.load(components.Assets.images.ball.ball.keyName), images.load(components.Assets.images.ball.ball.keyName),
images.load(components.Assets.images.ball.androidBall.keyName), images.load(androidTheme.ball.keyName),
images.load(components.Assets.images.ball.dashBall.keyName), images.load(dashTheme.ball.keyName),
images.load(components.Assets.images.ball.dinoBall.keyName), images.load(dinoTheme.ball.keyName),
images.load(components.Assets.images.ball.sparkyBall.keyName), images.load(sparkyTheme.ball.keyName),
images.load(components.Assets.images.ball.flameEffect.keyName), images.load(components.Assets.images.ball.flameEffect.keyName),
images.load(components.Assets.images.signpost.inactive.keyName), images.load(components.Assets.images.signpost.inactive.keyName),
images.load(components.Assets.images.signpost.active1.keyName), images.load(components.Assets.images.signpost.active1.keyName),

@ -66,28 +66,12 @@ class $AssetsImagesBackboardGen {
class $AssetsImagesBallGen { class $AssetsImagesBallGen {
const $AssetsImagesBallGen(); const $AssetsImagesBallGen();
/// File path: assets/images/ball/android_ball.png
AssetGenImage get androidBall =>
const AssetGenImage('assets/images/ball/android_ball.png');
/// File path: assets/images/ball/ball.png /// File path: assets/images/ball/ball.png
AssetGenImage get ball => const AssetGenImage('assets/images/ball/ball.png'); AssetGenImage get ball => const AssetGenImage('assets/images/ball/ball.png');
/// File path: assets/images/ball/dash_ball.png
AssetGenImage get dashBall =>
const AssetGenImage('assets/images/ball/dash_ball.png');
/// File path: assets/images/ball/dino_ball.png
AssetGenImage get dinoBall =>
const AssetGenImage('assets/images/ball/dino_ball.png');
/// File path: assets/images/ball/flame_effect.png /// File path: assets/images/ball/flame_effect.png
AssetGenImage get flameEffect => AssetGenImage get flameEffect =>
const AssetGenImage('assets/images/ball/flame_effect.png'); const AssetGenImage('assets/images/ball/flame_effect.png');
/// File path: assets/images/ball/sparky_ball.png
AssetGenImage get sparkyBall =>
const AssetGenImage('assets/images/ball/sparky_ball.png');
} }
class $AssetsImagesBaseboardGen { class $AssetsImagesBaseboardGen {

@ -1,10 +1,9 @@
import 'dart:async'; import 'dart:async';
import 'dart:math' as math; import 'dart:math' as math;
import 'dart:ui';
import 'package:flame/components.dart'; import 'package:flame/components.dart';
import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:flame_forge2d/flame_forge2d.dart';
import 'package:flutter/widgets.dart'; import 'package:flutter/material.dart';
import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_components/pinball_components.dart';
import 'package:pinball_flame/pinball_flame.dart'; import 'package:pinball_flame/pinball_flame.dart';

@ -1,6 +1,7 @@
import 'package:flame/components.dart'; import 'package:flame/components.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_components/pinball_components.dart';
import 'package:pinball_theme/pinball_theme.dart' as theme;
import 'package:sandbox/common/common.dart'; import 'package:sandbox/common/common.dart';
class BallBoosterGame extends LineGame { class BallBoosterGame extends LineGame {
@ -8,10 +9,10 @@ class BallBoosterGame extends LineGame {
: super( : super(
imagesFileNames: [ imagesFileNames: [
Assets.images.ball.ball.keyName, Assets.images.ball.ball.keyName,
Assets.images.ball.androidBall.keyName, theme.Assets.images.android.ball.keyName,
Assets.images.ball.dashBall.keyName, theme.Assets.images.dash.ball.keyName,
Assets.images.ball.dinoBall.keyName, theme.Assets.images.dino.ball.keyName,
Assets.images.ball.sparkyBall.keyName, theme.Assets.images.sparky.ball.keyName,
Assets.images.ball.flameEffect.keyName, Assets.images.ball.flameEffect.keyName,
], ],
); );

@ -1,6 +1,7 @@
import 'package:flame/input.dart'; import 'package:flame/input.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_components/pinball_components.dart';
import 'package:pinball_theme/pinball_theme.dart' as theme;
import 'package:sandbox/common/common.dart'; import 'package:sandbox/common/common.dart';
class BallGame extends AssetsGame with TapDetector, Traceable { class BallGame extends AssetsGame with TapDetector, Traceable {
@ -13,10 +14,10 @@ class BallGame extends AssetsGame with TapDetector, Traceable {
}) : super( }) : super(
imagesFileNames: [ imagesFileNames: [
Assets.images.ball.ball.keyName, Assets.images.ball.ball.keyName,
Assets.images.ball.androidBall.keyName, theme.Assets.images.android.ball.keyName,
Assets.images.ball.dashBall.keyName, theme.Assets.images.dash.ball.keyName,
Assets.images.ball.dinoBall.keyName, theme.Assets.images.dino.ball.keyName,
Assets.images.ball.sparkyBall.keyName, theme.Assets.images.sparky.ball.keyName,
if (imagesFileNames != null) ...imagesFileNames, if (imagesFileNames != null) ...imagesFileNames,
], ],
); );
@ -28,10 +29,10 @@ class BallGame extends AssetsGame with TapDetector, Traceable {
'''; ''';
static final characterBallPaths = <String, String>{ static final characterBallPaths = <String, String>{
'Dash': Assets.images.ball.dashBall.keyName, 'Dash': theme.Assets.images.dash.ball.keyName,
'Sparky': Assets.images.ball.sparkyBall.keyName, 'Sparky': theme.Assets.images.sparky.ball.keyName,
'Android': Assets.images.ball.androidBall.keyName, 'Android': theme.Assets.images.android.ball.keyName,
'Dino': Assets.images.ball.dinoBall.keyName, 'Dino': theme.Assets.images.dino.ball.keyName,
}; };
final int ballPriority; final int ballPriority;

@ -36,9 +36,9 @@ class $AssetsImagesAndroidGen {
AssetGenImage get background => AssetGenImage get background =>
const AssetGenImage('assets/images/android/background.png'); const AssetGenImage('assets/images/android/background.png');
/// File path: assets/images/android/character.png /// File path: assets/images/android/ball.png
AssetGenImage get character => AssetGenImage get ball =>
const AssetGenImage('assets/images/android/character.png'); const AssetGenImage('assets/images/android/ball.png');
/// File path: assets/images/android/icon.png /// File path: assets/images/android/icon.png
AssetGenImage get icon => AssetGenImage get icon =>
@ -60,9 +60,8 @@ class $AssetsImagesDashGen {
AssetGenImage get background => AssetGenImage get background =>
const AssetGenImage('assets/images/dash/background.png'); const AssetGenImage('assets/images/dash/background.png');
/// File path: assets/images/dash/character.png /// File path: assets/images/dash/ball.png
AssetGenImage get character => AssetGenImage get ball => const AssetGenImage('assets/images/dash/ball.png');
const AssetGenImage('assets/images/dash/character.png');
/// File path: assets/images/dash/icon.png /// File path: assets/images/dash/icon.png
AssetGenImage get icon => const AssetGenImage('assets/images/dash/icon.png'); AssetGenImage get icon => const AssetGenImage('assets/images/dash/icon.png');
@ -83,9 +82,8 @@ class $AssetsImagesDinoGen {
AssetGenImage get background => AssetGenImage get background =>
const AssetGenImage('assets/images/dino/background.png'); const AssetGenImage('assets/images/dino/background.png');
/// File path: assets/images/dino/character.png /// File path: assets/images/dino/ball.png
AssetGenImage get character => AssetGenImage get ball => const AssetGenImage('assets/images/dino/ball.png');
const AssetGenImage('assets/images/dino/character.png');
/// File path: assets/images/dino/icon.png /// File path: assets/images/dino/icon.png
AssetGenImage get icon => const AssetGenImage('assets/images/dino/icon.png'); AssetGenImage get icon => const AssetGenImage('assets/images/dino/icon.png');
@ -106,9 +104,9 @@ class $AssetsImagesSparkyGen {
AssetGenImage get background => AssetGenImage get background =>
const AssetGenImage('assets/images/sparky/background.png'); const AssetGenImage('assets/images/sparky/background.png');
/// File path: assets/images/sparky/character.png /// File path: assets/images/sparky/ball.png
AssetGenImage get character => AssetGenImage get ball =>
const AssetGenImage('assets/images/sparky/character.png'); const AssetGenImage('assets/images/sparky/ball.png');
/// File path: assets/images/sparky/icon.png /// File path: assets/images/sparky/icon.png
AssetGenImage get icon => AssetGenImage get icon =>

@ -1,4 +1,3 @@
import 'package:flutter/material.dart';
import 'package:pinball_theme/pinball_theme.dart'; import 'package:pinball_theme/pinball_theme.dart';
/// {@template android_theme} /// {@template android_theme}
@ -12,7 +11,7 @@ class AndroidTheme extends CharacterTheme {
String get name => 'Android'; String get name => 'Android';
@override @override
Color get ballColor => Colors.green; AssetGenImage get ball => Assets.images.android.ball;
@override @override
AssetGenImage get background => Assets.images.android.background; AssetGenImage get background => Assets.images.android.background;

@ -1,5 +1,4 @@
import 'package:equatable/equatable.dart'; import 'package:equatable/equatable.dart';
import 'package:flutter/material.dart';
import 'package:pinball_theme/pinball_theme.dart'; import 'package:pinball_theme/pinball_theme.dart';
/// {@template character_theme} /// {@template character_theme}
@ -15,8 +14,8 @@ abstract class CharacterTheme extends Equatable {
/// Name of character. /// Name of character.
String get name; String get name;
/// Ball color for this theme. /// Asset for the ball.
Color get ballColor; AssetGenImage get ball;
/// Asset for the background. /// Asset for the background.
AssetGenImage get background; AssetGenImage get background;
@ -33,7 +32,7 @@ abstract class CharacterTheme extends Equatable {
@override @override
List<Object?> get props => [ List<Object?> get props => [
name, name,
ballColor, ball,
background, background,
icon, icon,
leaderboardIcon, leaderboardIcon,

@ -1,4 +1,3 @@
import 'package:flutter/material.dart';
import 'package:pinball_theme/pinball_theme.dart'; import 'package:pinball_theme/pinball_theme.dart';
/// {@template dash_theme} /// {@template dash_theme}
@ -12,7 +11,7 @@ class DashTheme extends CharacterTheme {
String get name => 'Dash'; String get name => 'Dash';
@override @override
Color get ballColor => Colors.blue; AssetGenImage get ball => Assets.images.dash.ball;
@override @override
AssetGenImage get background => Assets.images.dash.background; AssetGenImage get background => Assets.images.dash.background;

@ -1,4 +1,3 @@
import 'package:flutter/material.dart';
import 'package:pinball_theme/pinball_theme.dart'; import 'package:pinball_theme/pinball_theme.dart';
/// {@template dino_theme} /// {@template dino_theme}
@ -12,7 +11,7 @@ class DinoTheme extends CharacterTheme {
String get name => 'Dino'; String get name => 'Dino';
@override @override
Color get ballColor => Colors.grey; AssetGenImage get ball => Assets.images.dino.ball;
@override @override
AssetGenImage get background => Assets.images.dino.background; AssetGenImage get background => Assets.images.dino.background;

@ -1,4 +1,3 @@
import 'package:flutter/material.dart';
import 'package:pinball_theme/pinball_theme.dart'; import 'package:pinball_theme/pinball_theme.dart';
/// {@template sparky_theme} /// {@template sparky_theme}
@ -9,7 +8,7 @@ class SparkyTheme extends CharacterTheme {
const SparkyTheme(); const SparkyTheme();
@override @override
Color get ballColor => Colors.orange; AssetGenImage get ball => Assets.images.sparky.ball;
@override @override
String get name => 'Sparky'; String get name => 'Sparky';

Loading…
Cancel
Save