refactor: simplify mixin

pull/157/head
Allison Ryan 4 years ago
parent 0044e4ed81
commit 986d8f145b

@ -26,7 +26,7 @@ extension BodyTrace on BodyComponent {
} }
mixin Traceable on Forge2DGame { mixin Traceable on Forge2DGame {
bool get trace; late final bool trace;
Future<void> traceAllBodies({ Future<void> traceAllBodies({
Color color = const Color(0xFFFF0000), Color color = const Color(0xFFFF0000),

@ -5,10 +5,8 @@ import 'package:pinball_components/pinball_components.dart';
import 'package:sandbox/common/common.dart'; import 'package:sandbox/common/common.dart';
import 'package:sandbox/stories/ball/basic_ball_game.dart'; import 'package:sandbox/stories/ball/basic_ball_game.dart';
class BigDashNestBumperGame extends BasicBallGame { class BigDashNestBumperGame extends BasicBallGame with Traceable {
BigDashNestBumperGame({ BigDashNestBumperGame() : super(color: const Color(0xFF0000FF));
required this.trace,
}) : super(color: const Color(0xFF0000FF));
static const info = ''' static const info = '''
Shows how a BigDashNestBumper is rendered. Shows how a BigDashNestBumper is rendered.
@ -16,8 +14,6 @@ class BigDashNestBumperGame extends BasicBallGame {
Activate the "trace" parameter to overlay the body. Activate the "trace" parameter to overlay the body.
'''; ''';
final bool trace;
@override @override
Future<void> onLoad() async { Future<void> onLoad() async {
await super.onLoad(); await super.onLoad();
@ -28,6 +24,6 @@ class BigDashNestBumperGame extends BasicBallGame {
..priority = 1; ..priority = 1;
await add(bigDashNestBumper); await add(bigDashNestBumper);
if (trace) bigDashNestBumper.trace(); await traceAllBodies();
} }
} }

@ -8,9 +8,8 @@ void addDashNestBumperStories(Dashbook dashbook) {
dashbook.storiesOf('Dash Nest Bumpers').add( dashbook.storiesOf('Dash Nest Bumpers').add(
'Big', 'Big',
(context) => GameWidget( (context) => GameWidget(
game: BigDashNestBumperGame( game: BigDashNestBumperGame()
trace: context.boolProperty('Trace', true), ..trace = context.boolProperty('Trace', true),
),
), ),
codeLink: buildSourceLink('dash_nest_bumper/big.dart'), codeLink: buildSourceLink('dash_nest_bumper/big.dart'),
info: BasicBallGame.info, info: BasicBallGame.info,

@ -7,10 +7,7 @@ import 'package:sandbox/common/common.dart';
import 'package:sandbox/stories/ball/basic_ball_game.dart'; import 'package:sandbox/stories/ball/basic_ball_game.dart';
class FlipperGame extends BasicBallGame with KeyboardEvents, Traceable { class FlipperGame extends BasicBallGame with KeyboardEvents, Traceable {
FlipperGame({ FlipperGame() : super(color: Colors.blue);
required bool trace,
}) : _trace = trace,
super(color: Colors.blue);
static const info = ''' static const info = '''
Shows how Flippers are rendered. Shows how Flippers are rendered.
@ -31,11 +28,6 @@ class FlipperGame extends BasicBallGame with KeyboardEvents, Traceable {
LogicalKeyboardKey.keyD, LogicalKeyboardKey.keyD,
]; ];
final bool _trace;
@override
bool get trace => _trace;
late Flipper leftFlipper; late Flipper leftFlipper;
late Flipper rightFlipper; late Flipper rightFlipper;

@ -7,9 +7,7 @@ void addFlipperStories(Dashbook dashbook) {
dashbook.storiesOf('Flipper').add( dashbook.storiesOf('Flipper').add(
'Basic', 'Basic',
(context) => GameWidget( (context) => GameWidget(
game: FlipperGame( game: FlipperGame()..trace = context.boolProperty('Trace', true),
trace: context.boolProperty('Trace', true),
),
), ),
codeLink: buildSourceLink('flipper/basic.dart'), codeLink: buildSourceLink('flipper/basic.dart'),
info: FlipperGame.info, info: FlipperGame.info,

@ -4,10 +4,7 @@ import 'package:sandbox/common/common.dart';
import 'package:sandbox/stories/ball/basic_ball_game.dart'; import 'package:sandbox/stories/ball/basic_ball_game.dart';
class KickerGame extends BasicBallGame with Traceable { class KickerGame extends BasicBallGame with Traceable {
KickerGame({ KickerGame() : super(color: const Color(0xFFFF0000));
required bool trace,
}) : _trace = trace,
super(color: const Color(0xFFFF0000));
static const info = ''' static const info = '''
Shows how Kickers are rendered. Shows how Kickers are rendered.
@ -16,11 +13,6 @@ class KickerGame extends BasicBallGame with Traceable {
- Tap anywhere on the screen to spawn a ball into the game. - Tap anywhere on the screen to spawn a ball into the game.
'''; ''';
final bool _trace;
@override
bool get trace => _trace;
@override @override
Future<void> onLoad() async { Future<void> onLoad() async {
await super.onLoad(); await super.onLoad();

@ -7,9 +7,7 @@ void addKickerStories(Dashbook dashbook) {
dashbook.storiesOf('Kickers').add( dashbook.storiesOf('Kickers').add(
'Basic', 'Basic',
(context) => GameWidget( (context) => GameWidget(
game: KickerGame( game: KickerGame()..trace = context.boolProperty('Trace', true),
trace: context.boolProperty('Trace', true),
),
), ),
codeLink: buildSourceLink('kicker_game/basic.dart'), codeLink: buildSourceLink('kicker_game/basic.dart'),
info: KickerGame.info, info: KickerGame.info,

@ -4,10 +4,7 @@ import 'package:sandbox/common/common.dart';
import 'package:sandbox/stories/ball/basic_ball_game.dart'; import 'package:sandbox/stories/ball/basic_ball_game.dart';
class SlingshotGame extends BasicBallGame with Traceable { class SlingshotGame extends BasicBallGame with Traceable {
SlingshotGame({ SlingshotGame() : super(color: const Color(0xFFFF0000));
required bool trace,
}) : _trace = trace,
super(color: const Color(0xFFFF0000));
static const info = ''' static const info = '''
Shows how Slingshots are rendered. Shows how Slingshots are rendered.
@ -16,11 +13,6 @@ class SlingshotGame extends BasicBallGame with Traceable {
- Tap anywhere on the screen to spawn a ball into the game. - Tap anywhere on the screen to spawn a ball into the game.
'''; ''';
final bool _trace;
@override
bool get trace => _trace;
@override @override
Future<void> onLoad() async { Future<void> onLoad() async {
await super.onLoad(); await super.onLoad();

@ -7,9 +7,7 @@ void addSlingshotStories(Dashbook dashbook) {
dashbook.storiesOf('Slingshots').add( dashbook.storiesOf('Slingshots').add(
'Basic', 'Basic',
(context) => GameWidget( (context) => GameWidget(
game: SlingshotGame( game: SlingshotGame()..trace = context.boolProperty('Trace', true),
trace: context.boolProperty('Trace', true),
),
), ),
codeLink: buildSourceLink('slingshot_game/basic.dart'), codeLink: buildSourceLink('slingshot_game/basic.dart'),
info: SlingshotGame.info, info: SlingshotGame.info,

@ -6,10 +6,7 @@ import 'package:sandbox/common/common.dart';
import 'package:sandbox/stories/ball/basic_ball_game.dart'; import 'package:sandbox/stories/ball/basic_ball_game.dart';
class SparkyBumperGame extends BasicBallGame with Traceable { class SparkyBumperGame extends BasicBallGame with Traceable {
SparkyBumperGame({ SparkyBumperGame() : super(color: const Color(0xFF0000FF));
required bool trace,
}) : _trace = trace,
super(color: const Color(0xFF0000FF));
static const info = ''' static const info = '''
Shows how a SparkyBumper is rendered. Shows how a SparkyBumper is rendered.
@ -17,11 +14,6 @@ class SparkyBumperGame extends BasicBallGame with Traceable {
Activate the "trace" parameter to overlay the body. Activate the "trace" parameter to overlay the body.
'''; ''';
final bool _trace;
@override
bool get trace => _trace;
@override @override
Future<void> onLoad() async { Future<void> onLoad() async {
await super.onLoad(); await super.onLoad();

@ -7,9 +7,7 @@ void addSparkyBumperStories(Dashbook dashbook) {
dashbook.storiesOf('Sparky Bumpers').add( dashbook.storiesOf('Sparky Bumpers').add(
'Basic', 'Basic',
(context) => GameWidget( (context) => GameWidget(
game: SparkyBumperGame( game: SparkyBumperGame()..trace = context.boolProperty('Trace', true),
trace: context.boolProperty('Trace', true),
),
), ),
codeLink: buildSourceLink('sparky_bumper/basic.dart'), codeLink: buildSourceLink('sparky_bumper/basic.dart'),
info: SparkyBumperGame.info, info: SparkyBumperGame.info,

Loading…
Cancel
Save