diff --git a/lib/character_themes/android_theme.dart b/lib/character_themes/android_theme.dart new file mode 100644 index 00000000..8c91d9e1 --- /dev/null +++ b/lib/character_themes/android_theme.dart @@ -0,0 +1,9 @@ +import 'package:flutter/material.dart'; +import 'package:pinball/character_themes/character_themes.dart'; + +class AndroidTheme extends CharacterTheme { + const AndroidTheme(); + + @override + Color get ballColor => Colors.green; +} diff --git a/lib/character_themes/character_theme.dart b/lib/character_themes/character_theme.dart new file mode 100644 index 00000000..d755a2c7 --- /dev/null +++ b/lib/character_themes/character_theme.dart @@ -0,0 +1,15 @@ +import 'package:equatable/equatable.dart'; +import 'package:flame/palette.dart'; + +/// {@template character_theme} +/// Template for creating character themes. +/// {@endtemplate} +abstract class CharacterTheme extends Equatable { + /// {@macro character_theme} + const CharacterTheme(); + + Color get ballColor; + + @override + List get props => []; +} diff --git a/lib/character_themes/character_themes.dart b/lib/character_themes/character_themes.dart new file mode 100644 index 00000000..21f1efd5 --- /dev/null +++ b/lib/character_themes/character_themes.dart @@ -0,0 +1,6 @@ +export 'android_theme.dart'; +export 'character_theme.dart'; +export 'cubit/theme_cubit.dart'; +export 'dash_theme.dart'; +export 'dino_theme.dart'; +export 'sparky_theme.dart'; diff --git a/lib/character_themes/dash_theme.dart b/lib/character_themes/dash_theme.dart new file mode 100644 index 00000000..caaf2bdf --- /dev/null +++ b/lib/character_themes/dash_theme.dart @@ -0,0 +1,9 @@ +import 'package:flutter/material.dart'; +import 'package:pinball/character_themes/character_themes.dart'; + +class DashTheme extends CharacterTheme { + const DashTheme(); + + @override + Color get ballColor => Colors.blue; +} diff --git a/lib/character_themes/dino_theme.dart b/lib/character_themes/dino_theme.dart new file mode 100644 index 00000000..27f76199 --- /dev/null +++ b/lib/character_themes/dino_theme.dart @@ -0,0 +1,9 @@ +import 'package:flutter/material.dart'; +import 'package:pinball/character_themes/character_themes.dart'; + +class DinoTheme extends CharacterTheme { + const DinoTheme(); + + @override + Color get ballColor => Colors.grey; +} diff --git a/lib/character_themes/sparky_theme.dart b/lib/character_themes/sparky_theme.dart new file mode 100644 index 00000000..63d8d241 --- /dev/null +++ b/lib/character_themes/sparky_theme.dart @@ -0,0 +1,9 @@ +import 'package:flutter/material.dart'; +import 'package:pinball/character_themes/character_themes.dart'; + +class SparkyTheme extends CharacterTheme { + const SparkyTheme(); + + @override + Color get ballColor => Colors.orange; +}