Skip to content

Commit e977bf1

Browse files
committed
Better structure
1 parent b9380aa commit e977bf1

7 files changed

Lines changed: 13 additions & 50 deletions

File tree

packages/flame/lib/src/events/flame_game_mixins/dispatcher.dart

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import 'package:flame/components.dart';
22
import 'package:flame/src/game/flame_game.dart';
3-
import 'package:flutter/foundation.dart';
43

54
abstract class Dispatcher<G extends FlameGame> extends Component
65
with HasGameReference<G> {
@@ -18,12 +17,7 @@ abstract class Dispatcher<G extends FlameGame> extends Component
1817
game.add(dispatcher);
1918
}
2019

21-
static void removeDispatcher(
22-
FlameGame game,
23-
ComponentKey key, {
24-
VoidCallback? unregister,
25-
}) {
26-
unregister?.call();
20+
static void removeDispatcher(FlameGame game, ComponentKey key) {
2721
game.unregisterKey(key);
2822
}
2923
}

packages/flame/lib/src/events/flame_game_mixins/double_tap_dispatcher.dart

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,7 @@ class DoubleTapDispatcher extends Dispatcher<FlameGame> {
6969

7070
@override
7171
void onRemove() {
72-
Dispatcher.removeDispatcher(
73-
game,
74-
const DoubleTapDispatcherKey(),
75-
unregister: () {
76-
game.gestureDetectors.unregister<DoubleTapGestureRecognizer>();
77-
},
78-
);
72+
game.gestureDetectors.unregister<DoubleTapGestureRecognizer>();
73+
Dispatcher.removeDispatcher(game, const DoubleTapDispatcherKey());
7974
}
8075
}

packages/flame/lib/src/events/flame_game_mixins/long_press_dispatcher.dart

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -147,14 +147,8 @@ class LongPressDispatcher extends Dispatcher<FlameGame> {
147147

148148
@override
149149
void onRemove() {
150-
Dispatcher.removeDispatcher(
151-
game,
152-
const LongPressDispatcherKey(),
153-
unregister: () {
154-
game.gestureDetectors.unregister<LongPressGestureRecognizer>();
155-
},
156-
);
157-
super.onRemove();
150+
game.gestureDetectors.unregister<LongPressGestureRecognizer>();
151+
Dispatcher.removeDispatcher(game, const LongPressDispatcherKey());
158152
}
159153
}
160154

packages/flame/lib/src/events/flame_game_mixins/multi_drag_dispatcher.dart

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -206,13 +206,8 @@ class MultiDragDispatcher extends Dispatcher<FlameGame>
206206

207207
@override
208208
void onRemove() {
209-
Dispatcher.removeDispatcher(
210-
game,
211-
const MultiDragDispatcherKey(),
212-
unregister: () {
213-
game.gestureDetectors.unregister<ImmediateMultiDragGestureRecognizer>();
214-
},
215-
);
209+
game.gestureDetectors.unregister<ImmediateMultiDragGestureRecognizer>();
210+
Dispatcher.removeDispatcher(game, const MultiDragDispatcherKey());
216211
_dragUpdateController.close();
217212
_dragCancelController.close();
218213
_dragStartController.close();

packages/flame/lib/src/events/flame_game_mixins/multi_tap_dispatcher.dart

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -178,13 +178,8 @@ class MultiTapDispatcher extends Dispatcher<FlameGame>
178178

179179
@override
180180
void onRemove() {
181-
Dispatcher.removeDispatcher(
182-
game,
183-
const MultiTapDispatcherKey(),
184-
unregister: () {
185-
game.gestureDetectors.unregister<MultiTapGestureRecognizer>();
186-
},
187-
);
181+
game.gestureDetectors.unregister<MultiTapGestureRecognizer>();
182+
Dispatcher.removeDispatcher(game, const MultiTapDispatcherKey());
188183
}
189184

190185
@override

packages/flame/lib/src/events/flame_game_mixins/scale_dispatcher.dart

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -341,13 +341,8 @@ class ScaleDispatcher extends Dispatcher<FlameGame> implements ScaleListener {
341341

342342
@override
343343
void onRemove() {
344-
Dispatcher.removeDispatcher(
345-
game,
346-
const ScaleDispatcherKey(),
347-
unregister: () {
348-
game.gestureDetectors.unregister<ScaleGestureRecognizer>();
349-
},
350-
);
344+
game.gestureDetectors.unregister<ScaleGestureRecognizer>();
345+
Dispatcher.removeDispatcher(game, const ScaleDispatcherKey());
351346
super.onRemove();
352347
}
353348

packages/flame/lib/src/events/flame_game_mixins/secondary_tap_dispatcher.dart

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,7 @@ class SecondaryTapDispatcher extends Dispatcher<FlameGame> {
7171

7272
@override
7373
void onRemove() {
74-
Dispatcher.removeDispatcher(
75-
game,
76-
const SecondaryTapDispatcherKey(),
77-
unregister: () {
78-
game.gestureDetectors.unregister<TapGestureRecognizer>();
79-
},
80-
);
74+
game.gestureDetectors.unregister<TapGestureRecognizer>();
75+
Dispatcher.removeDispatcher(game, const SecondaryTapDispatcherKey());
8176
}
8277
}

0 commit comments

Comments
 (0)