Rename Tapeable to Tapable

This commit is contained in:
Lukas Klingsbo
2019-09-24 12:39:31 -03:00
committed by Erick (CptBlackPixel)
parent f18e6bbea1
commit a349754428
8 changed files with 33 additions and 33 deletions

View File

@ -1,3 +1,3 @@
# tapeables # tapables
A Flame game showcasing how to use a tapeable component A Flame game showcasing how to use a tapable component

View File

@ -1,20 +1,20 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flame/game.dart'; import 'package:flame/game.dart';
import 'package:flame/components/component.dart'; import 'package:flame/components/component.dart';
import 'package:flame/components/mixins/tapeable.dart'; import 'package:flame/components/mixins/tapable.dart';
void main() { void main() {
final game = MyGame(); final game = MyGame();
runApp(game.widget); runApp(game.widget);
} }
class TapeableSquare extends PositionComponent with Tapeable { class TapableSquare extends PositionComponent with Tapable {
static final Paint _white = Paint()..color = const Color(0xFFFFFFFF); static final Paint _white = Paint()..color = const Color(0xFFFFFFFF);
static final Paint _grey = Paint()..color = const Color(0xFFA5A5A5); static final Paint _grey = Paint()..color = const Color(0xFFA5A5A5);
bool _beenPressed = false; bool _beenPressed = false;
TapeableSquare({double y = 100}) { TapableSquare({double y = 100}) {
x = width = height = 100; x = width = height = 100;
this.y = y; this.y = y;
} }
@ -45,7 +45,7 @@ class TapeableSquare extends PositionComponent with Tapeable {
class MyGame extends BaseGame { class MyGame extends BaseGame {
MyGame() { MyGame() {
add(TapeableSquare()); add(TapableSquare());
add(TapeableSquare(y: 400)); add(TapableSquare(y: 400));
} }
} }

View File

@ -1,5 +1,5 @@
name: tapeables name: tapables
description: A flame game showcasing the use of tapeable components description: A flame game showcasing the use of tapable components
version: 1.0.0+1 version: 1.0.0+1

View File

@ -37,9 +37,9 @@ Here are some example of more complex Gesture Recognizers:
``` ```
__ATTENTION:__ `Flame.util.addGestureRecognizer` must be called after the `runApp`, otherwise Flutter's `GestureBinding` will not be initialized yet and exceptions will occur. __ATTENTION:__ `Flame.util.addGestureRecognizer` must be called after the `runApp`, otherwise Flutter's `GestureBinding` will not be initialized yet and exceptions will occur.
## Tapeable components ## Tapable components
Flame also offers a simple helper to make it easier to handle tap events on `PositionComponent`, by using the mixin `Tapeable` your components can override the following methods, enabling easy to use tap events on your Component. Flame also offers a simple helper to make it easier to handle tap events on `PositionComponent`, by using the mixin `Tapable` your components can override the following methods, enabling easy to use tap events on your Component.
```dart ```dart
void onTapCancel() {} void onTapCancel() {}
@ -53,7 +53,7 @@ Minimal component example:
import 'package:flame/components/component.dart'; import 'package:flame/components/component.dart';
import 'package:flame/components/events/gestures.dart'; import 'package:flame/components/events/gestures.dart';
class TapeableComponent extends PositionComponent with Tapeable { class TapableComponent extends PositionComponent with Tapable {
// update and render omitted // update and render omitted

View File

@ -1,7 +1,7 @@
import 'dart:ui'; import 'dart:ui';
import 'package:flame/components/mixins/has_game_ref.dart'; import 'package:flame/components/mixins/has_game_ref.dart';
import 'package:flame/components/mixins/tapeable.dart'; import 'package:flame/components/mixins/tapable.dart';
import 'package:flame/game.dart'; import 'package:flame/game.dart';
import 'package:ordered_set/comparing.dart'; import 'package:ordered_set/comparing.dart';
import 'package:ordered_set/ordered_set.dart'; import 'package:ordered_set/ordered_set.dart';
@ -37,7 +37,7 @@ import 'mixins/resizable.dart';
/// } /// }
/// ``` /// ```
/// ///
mixin ComposedComponent on Component, HasGameRef, Tapeable { mixin ComposedComponent on Component, HasGameRef, Tapable {
OrderedSet<Component> components = OrderedSet<Component> components =
OrderedSet(Comparing.on((c) => c.priority())); OrderedSet(Comparing.on((c) => c.priority()));
@ -67,9 +67,9 @@ mixin ComposedComponent on Component, HasGameRef, Tapeable {
components.add(c); components.add(c);
} }
// this is an important override for the Tapeable mixin // this is an important override for the Tapable mixin
@override @override
Iterable<Tapeable> tapeableChildren() => _findT<Tapeable>(); Iterable<Tapable> tapableChildren() => _findT<Tapable>();
// this is an important override for the Resizable mixin // this is an important override for the Resizable mixin
Iterable<Resizable> resizableChildren() => _findT<Resizable>(); Iterable<Resizable> resizableChildren() => _findT<Resizable>();

View File

@ -2,7 +2,7 @@ import 'dart:ui';
import 'package:flutter/gestures.dart'; import 'package:flutter/gestures.dart';
mixin Tapeable { mixin Tapable {
Rect toRect(); Rect toRect();
void onTapCancel() {} void onTapCancel() {}
@ -15,23 +15,23 @@ mixin Tapeable {
if (checkTapOverlap(details.globalPosition)) { if (checkTapOverlap(details.globalPosition)) {
onTapDown(details); onTapDown(details);
} }
tapeableChildren().forEach((c) => c.handleTapDown(details)); tapableChildren().forEach((c) => c.handleTapDown(details));
} }
void handleTapUp(TapUpDetails details) { void handleTapUp(TapUpDetails details) {
if (checkTapOverlap(details.globalPosition)) { if (checkTapOverlap(details.globalPosition)) {
onTapUp(details); onTapUp(details);
} }
tapeableChildren().forEach((c) => c.handleTapUp(details)); tapableChildren().forEach((c) => c.handleTapUp(details));
} }
void handleTapCancel() { void handleTapCancel() {
onTapCancel(); onTapCancel();
tapeableChildren().forEach((c) => c.handleTapCancel()); tapableChildren().forEach((c) => c.handleTapCancel());
} }
/// Overwrite this to add children to this [Tapeable]. /// Overwrite this to add children to this [Tapable].
/// ///
/// If a [Tapeable] has children, its children be taped as well. /// If a [Tapable] has children, its children be taped as well.
Iterable<Tapeable> tapeableChildren() => []; Iterable<Tapable> tapableChildren() => [];
} }

View File

@ -11,7 +11,7 @@ import 'package:ordered_set/ordered_set.dart';
import 'components/component.dart'; import 'components/component.dart';
import 'components/mixins/has_game_ref.dart'; import 'components/mixins/has_game_ref.dart';
import 'components/mixins/tapeable.dart'; import 'components/mixins/tapable.dart';
import 'flame.dart'; import 'flame.dart';
import 'position.dart'; import 'position.dart';
@ -111,22 +111,22 @@ abstract class BaseGame extends Game {
/// List of deltas used in debug mode to calculate FPS /// List of deltas used in debug mode to calculate FPS
final List<double> _dts = []; final List<double> _dts = [];
Iterable<Tapeable> get _tapeableComponents => Iterable<Tapable> get _tapableComponents =>
components.where((c) => c is Tapeable).cast(); components.where((c) => c is Tapable).cast();
@override @override
void onTapCancel() { void onTapCancel() {
_tapeableComponents.forEach((c) => c.handleTapCancel()); _tapableComponents.forEach((c) => c.handleTapCancel());
} }
@override @override
void onTapDown(TapDownDetails details) { void onTapDown(TapDownDetails details) {
_tapeableComponents.forEach((c) => c.handleTapDown(details)); _tapableComponents.forEach((c) => c.handleTapDown(details));
} }
@override @override
void onTapUp(TapUpDetails details) { void onTapUp(TapUpDetails details) {
_tapeableComponents.forEach((c) => c.handleTapUp(details)); _tapableComponents.forEach((c) => c.handleTapUp(details));
} }
/// This method is called for every component added, both via [add] and [addLater] methods. /// This method is called for every component added, both via [add] and [addLater] methods.

View File

@ -3,7 +3,7 @@ import 'dart:ui';
import 'package:flame/components/composed_component.dart'; import 'package:flame/components/composed_component.dart';
import 'package:flame/components/mixins/has_game_ref.dart'; import 'package:flame/components/mixins/has_game_ref.dart';
import 'package:flame/components/mixins/resizable.dart'; import 'package:flame/components/mixins/resizable.dart';
import 'package:flame/components/mixins/tapeable.dart'; import 'package:flame/components/mixins/tapable.dart';
import 'package:flutter/gestures.dart'; import 'package:flutter/gestures.dart';
import 'package:test/test.dart'; import 'package:test/test.dart';
@ -12,7 +12,7 @@ import 'package:flame/components/component.dart';
class MyGame extends BaseGame {} class MyGame extends BaseGame {}
class MyTap extends PositionComponent with Tapeable, Resizable { class MyTap extends PositionComponent with Tapable, Resizable {
bool tapped = false; bool tapped = false;
@override @override
@ -31,7 +31,7 @@ class MyTap extends PositionComponent with Tapeable, Resizable {
} }
class MyComposed extends Component class MyComposed extends Component
with HasGameRef, Tapeable, ComposedComponent { with HasGameRef, Tapable, ComposedComponent {
@override @override
void update(double dt) {} void update(double dt) {}
@ -42,7 +42,7 @@ class MyComposed extends Component
Rect toRect() => Rect.zero; Rect toRect() => Rect.zero;
} }
class PositionComponentNoNeedForRect extends PositionComponent with Tapeable { class PositionComponentNoNeedForRect extends PositionComponent with Tapable {
@override @override
void render(Canvas c) {} void render(Canvas c) {}