mirror of https://github.com/flutter/pinball.git
parent
8f3fc4b248
commit
0e98a74b17
@ -1,9 +0,0 @@
|
||||
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;
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:flame/palette.dart';
|
||||
|
||||
/// {@template character_theme}
|
||||
/// Template for creating character themes.
|
||||
///
|
||||
/// Any character specific game pieces should have a getter specified here so
|
||||
/// their corresponding assets can be retrieved for the game.
|
||||
/// {@endtemplate}
|
||||
abstract class CharacterTheme extends Equatable {
|
||||
/// {@macro character_theme}
|
||||
const CharacterTheme();
|
||||
|
||||
Color get ballColor;
|
||||
|
||||
@override
|
||||
List<Object?> get props => [];
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
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;
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
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;
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
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;
|
||||
}
|
@ -1,13 +1,13 @@
|
||||
import 'package:bloc/bloc.dart';
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:pinball/character_themes/character_themes.dart';
|
||||
import 'package:pinball_theme/pinball_theme.dart';
|
||||
|
||||
part 'theme_state.dart';
|
||||
|
||||
class ThemeCubit extends Cubit<ThemeState> {
|
||||
ThemeCubit() : super(const ThemeState(DashTheme()));
|
||||
|
||||
void themeSelected(CharacterTheme theme) {
|
||||
void themeSelected(PinballTheme theme) {
|
||||
emit(ThemeState(theme));
|
||||
}
|
||||
}
|
@ -0,0 +1 @@
|
||||
export 'cubit/theme_cubit.dart';
|
@ -0,0 +1,39 @@
|
||||
# Miscellaneous
|
||||
*.class
|
||||
*.log
|
||||
*.pyc
|
||||
*.swp
|
||||
.DS_Store
|
||||
.atom/
|
||||
.buildlog/
|
||||
.history
|
||||
.svn/
|
||||
|
||||
# IntelliJ related
|
||||
*.iml
|
||||
*.ipr
|
||||
*.iws
|
||||
.idea/
|
||||
|
||||
# VSCode related
|
||||
.vscode/
|
||||
|
||||
# Flutter/Dart/Pub related
|
||||
**/doc/api/
|
||||
**/ios/Flutter/.last_build_id
|
||||
.dart_tool/
|
||||
.flutter-plugins
|
||||
.flutter-plugins-dependencies
|
||||
.packages
|
||||
.pub-cache/
|
||||
.pub/
|
||||
/build/
|
||||
|
||||
# Web related
|
||||
lib/generated_plugin_registrant.dart
|
||||
|
||||
# Symbolication related
|
||||
app.*.symbols
|
||||
|
||||
# Obfuscation related
|
||||
app.*.map.json
|
@ -0,0 +1,11 @@
|
||||
# pinball_theme
|
||||
|
||||
[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link]
|
||||
[![License: MIT][license_badge]][license_link]
|
||||
|
||||
Package containing themes for pinball game.
|
||||
|
||||
[license_badge]: https://img.shields.io/badge/license-MIT-blue.svg
|
||||
[license_link]: https://opensource.org/licenses/MIT
|
||||
[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg
|
||||
[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis
|
@ -0,0 +1 @@
|
||||
include: package:very_good_analysis/analysis_options.2.4.0.yaml
|
@ -0,0 +1,4 @@
|
||||
library pinball_theme;
|
||||
|
||||
export 'src/pinball_theme.dart';
|
||||
export 'src/themes/themes.dart';
|
@ -0,0 +1,19 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
/// {@template pinball_theme}
|
||||
/// Base class for creating pinball themes.
|
||||
///
|
||||
/// Character specific game components should have a getter specified here to
|
||||
/// load their corresponding assets for the game.
|
||||
/// {@endtemplate}
|
||||
abstract class PinballTheme extends Equatable {
|
||||
/// {@macro pinball_theme}
|
||||
const PinballTheme();
|
||||
|
||||
/// Ball color for this theme.
|
||||
Color get ballColor;
|
||||
|
||||
@override
|
||||
List<Object?> get props => [];
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:pinball_theme/pinball_theme.dart';
|
||||
|
||||
/// {@template android_theme}
|
||||
/// Class defining Android theme assets and attributes.
|
||||
/// {@endtemplate}
|
||||
class AndroidTheme extends PinballTheme {
|
||||
/// {@macro android_theme}
|
||||
const AndroidTheme();
|
||||
|
||||
@override
|
||||
Color get ballColor => Colors.green;
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:pinball_theme/pinball_theme.dart';
|
||||
|
||||
/// {@template dash_theme}
|
||||
/// Class defining Dash theme assets and attributes.
|
||||
/// {@endtemplate}
|
||||
class DashTheme extends PinballTheme {
|
||||
/// {@macro dash_theme}
|
||||
const DashTheme();
|
||||
|
||||
@override
|
||||
Color get ballColor => Colors.blue;
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:pinball_theme/pinball_theme.dart';
|
||||
|
||||
/// {@template dino_theme}
|
||||
/// Class defining Dino theme assets and attributes.
|
||||
/// {@endtemplate}
|
||||
class DinoTheme extends PinballTheme {
|
||||
/// {@macro dino_theme}
|
||||
const DinoTheme();
|
||||
|
||||
@override
|
||||
Color get ballColor => Colors.grey;
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:pinball_theme/pinball_theme.dart';
|
||||
|
||||
/// {@template sparky_theme}
|
||||
/// Class defining Sparky theme assets and attributes.
|
||||
/// {@endtemplate}
|
||||
class SparkyTheme extends PinballTheme {
|
||||
/// {@macro sparky_theme}
|
||||
const SparkyTheme();
|
||||
|
||||
@override
|
||||
Color get ballColor => Colors.orange;
|
||||
}
|
@ -1,6 +1,4 @@
|
||||
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';
|
@ -0,0 +1,17 @@
|
||||
name: pinball_theme
|
||||
description: Package containing themes for pinball game.
|
||||
version: 1.0.0+1
|
||||
publish_to: none
|
||||
|
||||
environment:
|
||||
sdk: ">=2.16.0 <3.0.0"
|
||||
|
||||
dependencies:
|
||||
equatable: ^2.0.3
|
||||
flutter:
|
||||
sdk: flutter
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
very_good_analysis: ^2.4.0
|
@ -1,6 +1,7 @@
|
||||
import 'package:bloc_test/bloc_test.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:pinball/character_themes/character_themes.dart';
|
||||
import 'package:pinball/theme/theme.dart';
|
||||
import 'package:pinball_theme/pinball_theme.dart';
|
||||
|
||||
void main() {
|
||||
group('ThemeCubit', () {
|
@ -1,7 +1,8 @@
|
||||
// ignore_for_file: prefer_const_constructors
|
||||
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:pinball/character_themes/character_themes.dart';
|
||||
import 'package:pinball/theme/theme.dart';
|
||||
import 'package:pinball_theme/pinball_theme.dart';
|
||||
|
||||
void main() {
|
||||
group('ThemeState', () {
|
Loading…
Reference in new issue