Skip to content

Commit

Permalink
refactor!: Move CameraComponent and events out of experimental (#2505)
Browse files Browse the repository at this point in the history
This moves the CameraComponent and the new event system out of experimental since this now is the recommended way of handling things.
  • Loading branch information
spydon committed Apr 19, 2023
1 parent 8992622 commit 87b8a06
Show file tree
Hide file tree
Showing 67 changed files with 98 additions and 100 deletions.
5 changes: 3 additions & 2 deletions doc/flame/camera_component.md
@@ -1,8 +1,9 @@
# Camera component

```{note}
This document describes a new experimental API. The more traditional approach
for handling a camera is described in [](camera_and_viewport.md).
This document describes a new camera API. The more traditional approach
(which will be deprecated) for handling a camera is described in
[](camera_and_viewport.md).
```

Camera-as-a-component is an alternative way of structuring a game, an approach
Expand Down
2 changes: 1 addition & 1 deletion doc/flame/examples/lib/drag_events.dart
@@ -1,7 +1,7 @@
import 'dart:math';

import 'package:flame/components.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:flame/game.dart';
import 'package:flutter/rendering.dart';

Expand Down
2 changes: 1 addition & 1 deletion doc/flame/examples/lib/ember.dart
@@ -1,6 +1,6 @@
import 'package:flame/collisions.dart';
import 'package:flame/components.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:flame/flame.dart';

class EmberPlayer extends SpriteAnimationComponent with TapCallbacks {
Expand Down
2 changes: 1 addition & 1 deletion doc/flame/examples/lib/flower.dart
Expand Up @@ -2,7 +2,7 @@ import 'dart:math';
import 'dart:ui';

import 'package:flame/components.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:flame/rendering.dart';

const tau = 2 * pi;
Expand Down
2 changes: 1 addition & 1 deletion doc/flame/examples/lib/router.dart
@@ -1,6 +1,6 @@
import 'package:flame/components.dart';
import 'package:flame/effects.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:flame/game.dart';
import 'package:flame/rendering.dart';
import 'package:flutter/rendering.dart';
Expand Down
2 changes: 1 addition & 1 deletion doc/flame/examples/lib/tap_events.dart
@@ -1,7 +1,7 @@
import 'dart:math';

import 'package:flame/components.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:flame/game.dart';
import 'package:flutter/rendering.dart';

Expand Down
1 change: 1 addition & 0 deletions doc/flame/examples/lib/value_route.dart
Expand Up @@ -3,6 +3,7 @@ import 'dart:ui';

import 'package:doc_flame_examples/router.dart';
import 'package:flame/components.dart';
import 'package:flame/events.dart';
import 'package:flame/experimental.dart';
import 'package:flame/game.dart';

Expand Down
1 change: 0 additions & 1 deletion doc/tutorials/klondike/app/lib/step2/klondike_game.dart
@@ -1,5 +1,4 @@
import 'package:flame/components.dart';
import 'package:flame/experimental.dart';
import 'package:flame/flame.dart';
import 'package:flame/game.dart';

Expand Down
1 change: 0 additions & 1 deletion doc/tutorials/klondike/app/lib/step3/klondike_game.dart
@@ -1,7 +1,6 @@
import 'dart:math';

import 'package:flame/components.dart';
import 'package:flame/experimental.dart';
import 'package:flame/flame.dart';
import 'package:flame/game.dart';

Expand Down
2 changes: 1 addition & 1 deletion doc/tutorials/klondike/app/lib/step4/components/card.dart
Expand Up @@ -2,7 +2,7 @@ import 'dart:math';
import 'dart:ui';

import 'package:flame/components.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:flame/game.dart';
import '../klondike_game.dart';
import '../pile.dart';
Expand Down
@@ -1,7 +1,7 @@
import 'dart:ui';

import 'package:flame/components.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';

import '../klondike_game.dart';
import '../pile.dart';
Expand Down
1 change: 0 additions & 1 deletion doc/tutorials/klondike/app/lib/step4/klondike_game.dart
@@ -1,7 +1,6 @@
import 'dart:ui';

import 'package:flame/components.dart';
import 'package:flame/experimental.dart';
import 'package:flame/flame.dart';
import 'package:flame/game.dart';

Expand Down
2 changes: 1 addition & 1 deletion examples/games/padracing/lib/car.dart
@@ -1,6 +1,6 @@
import 'dart:ui';

import 'package:flame/experimental.dart';
import 'package:flame/components.dart';
import 'package:flame/extensions.dart';
import 'package:flame_forge2d/flame_forge2d.dart' hide Particle, World;
import 'package:flutter/material.dart' hide Image, Gradient;
Expand Down
2 changes: 1 addition & 1 deletion examples/games/padracing/lib/padracing_game.dart
@@ -1,9 +1,9 @@
import 'dart:math';

import 'package:collection/collection.dart';
import 'package:flame/camera.dart';
import 'package:flame/components.dart';
import 'package:flame/effects.dart';
import 'package:flame/experimental.dart';
import 'package:flame/extensions.dart';
import 'package:flame/input.dart';
import 'package:flame_forge2d/flame_forge2d.dart' hide Particle, World;
Expand Down
Expand Up @@ -2,7 +2,7 @@ import 'dart:math';

import 'package:flame/components.dart';
import 'package:flame/effects.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:flame/extensions.dart';
import 'package:flame/game.dart';
import 'package:flame_isolate/flame_isolate.dart';
Expand Down
@@ -1,6 +1,6 @@
import 'package:examples/stories/bridge_libraries/forge2d/utils/balls.dart';
import 'package:examples/stories/bridge_libraries/forge2d/utils/boundaries.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:flame/palette.dart';
import 'package:flame_forge2d/flame_forge2d.dart';

Expand Down
@@ -1,7 +1,7 @@
import 'dart:math';

import 'package:flame/camera.dart';
import 'package:flame/components.dart';
import 'package:flame/experimental.dart';
import 'package:flame/extensions.dart' show OffsetExtension;
import 'package:flame/game.dart';
import 'package:flame/input.dart';
Expand Down
@@ -1,7 +1,8 @@
import 'dart:ui';

import 'package:flame/camera.dart';
import 'package:flame/components.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:flame/game.dart' hide Viewport;

class CameraComponentPropertiesExample extends FlameGame with TapCallbacks {
Expand Down
Expand Up @@ -4,7 +4,7 @@ import 'package:examples/commons/ember.dart';
import 'package:flame/collisions.dart';
import 'package:flame/components.dart';
import 'package:flame/effects.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:flame/extensions.dart';
import 'package:flame/game.dart';
import 'package:flame/input.dart';
Expand Down
Expand Up @@ -2,7 +2,7 @@ import 'dart:math';

import 'package:flame/collisions.dart';
import 'package:flame/components.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:flame/extensions.dart';
import 'package:flame/game.dart';
import 'package:flame/palette.dart';
Expand Down
Expand Up @@ -4,7 +4,6 @@ import 'package:examples/commons/ember.dart';
import 'package:flame/collisions.dart';
import 'package:flame/components.dart';
import 'package:flame/effects.dart';
import 'package:flame/experimental.dart';
import 'package:flame/game.dart';
import 'package:flutter/material.dart';

Expand Down
@@ -1,5 +1,5 @@
import 'package:flame/components.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:flame/game.dart';
import 'package:flame/widgets.dart';
import 'package:flutter/material.dart';
Expand Down
@@ -1,5 +1,5 @@
import 'package:flame/components.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:flame/game.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
Expand Down
2 changes: 1 addition & 1 deletion examples/lib/stories/components/priority_example.dart
@@ -1,5 +1,5 @@
import 'package:flame/components.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:flame/extensions.dart';
import 'package:flame/game.dart';

Expand Down
2 changes: 1 addition & 1 deletion examples/lib/stories/effects/remove_effect_example.dart
Expand Up @@ -2,7 +2,7 @@ import 'dart:math';

import 'package:flame/components.dart';
import 'package:flame/effects.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:flame/game.dart';
import 'package:flutter/material.dart';

Expand Down
@@ -1,6 +1,6 @@
import 'package:examples/commons/ember.dart';
import 'package:flame/components.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:flame/game.dart';
import 'package:flutter/material.dart';

Expand Down
2 changes: 1 addition & 1 deletion examples/lib/stories/input/draggables_example.dart
@@ -1,5 +1,5 @@
import 'package:examples/commons/ember.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:flame/game.dart';
import 'package:flutter/material.dart' show Colors;

Expand Down
2 changes: 1 addition & 1 deletion examples/lib/stories/input/gesture_hitboxes_example.dart
Expand Up @@ -2,7 +2,7 @@ import 'dart:math';

import 'package:flame/collisions.dart';
import 'package:flame/components.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:flame/extensions.dart';
import 'package:flame/game.dart';
import 'package:flame/input.dart';
Expand Down
@@ -1,5 +1,5 @@
import 'package:flame/components.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:flame/extensions.dart';
import 'package:flame/game.dart';
import 'package:flutter/material.dart';
Expand Down
2 changes: 1 addition & 1 deletion examples/lib/stories/input/tap_callbacks_example.dart
@@ -1,5 +1,5 @@
import 'package:flame/components.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:flame/extensions.dart';
import 'package:flame/game.dart';
import 'package:flutter/material.dart';
Expand Down
2 changes: 1 addition & 1 deletion examples/lib/stories/sprites/sprite_group_example.dart
@@ -1,5 +1,5 @@
import 'package:flame/components.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:flame/game.dart';

enum ButtonState { unpressed, pressed }
Expand Down
2 changes: 1 addition & 1 deletion packages/flame/example/lib/main.dart
@@ -1,7 +1,7 @@
import 'dart:math' as math;

import 'package:flame/components.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:flame/game.dart';
import 'package:flame/palette.dart';
import 'package:flutter/material.dart';
Expand Down
12 changes: 12 additions & 0 deletions packages/flame/lib/camera.dart
@@ -0,0 +1,12 @@
export 'src/camera/behaviors/bounded_position_behavior.dart'
show BoundedPositionBehavior;
export 'src/camera/behaviors/follow_behavior.dart' show FollowBehavior;
export 'src/camera/camera_component.dart' show CameraComponent;
export 'src/camera/viewfinder.dart' show Viewfinder;
export 'src/camera/viewport.dart' show Viewport;
export 'src/camera/viewports/circular_viewport.dart' show CircularViewport;
export 'src/camera/viewports/fixed_aspect_ratio_viewport.dart'
show FixedAspectRatioViewport;
export 'src/camera/viewports/fixed_size_viewport.dart' show FixedSizeViewport;
export 'src/camera/viewports/max_viewport.dart' show MaxViewport;
export 'src/camera/world.dart' show World;
2 changes: 2 additions & 0 deletions packages/flame/lib/components.dart
@@ -1,5 +1,7 @@
/// {@canonicalFor anchor.Anchor}
export 'src/anchor.dart';
export 'src/camera/camera_component.dart' show CameraComponent;
export 'src/camera/world.dart' show World;
export 'src/collisions/has_collision_detection.dart';
export 'src/collisions/hitboxes/screen_hitbox.dart';
export 'src/components/clip_component.dart';
Expand Down
25 changes: 25 additions & 0 deletions packages/flame/lib/events.dart
@@ -1,3 +1,17 @@
export 'src/events/component_mixins/double_tap_callbacks.dart'
show DoubleTapCallbacks;
export 'src/events/component_mixins/drag_callbacks.dart' show DragCallbacks;
export 'src/events/component_mixins/tap_callbacks.dart' show TapCallbacks;
export 'src/events/flame_game_mixins/has_draggable_components.dart'
show
HasDraggableComponents; // ignore: deprecated_member_use_from_same_package
export 'src/events/flame_game_mixins/has_draggables_bridge.dart'
show HasDraggablesBridge; // ignore: deprecated_member_use_from_same_package
export 'src/events/flame_game_mixins/has_tappable_components.dart'
show
HasTappableComponents; // ignore: deprecated_member_use_from_same_package
export 'src/events/flame_game_mixins/has_tappables_bridge.dart'
show HasTappablesBridge; // ignore: deprecated_member_use_from_same_package
export 'src/events/game_mixins/multi_touch_drag_detector.dart'
show MultiTouchDragDetector;
export 'src/events/game_mixins/multi_touch_tap_detector.dart'
Expand All @@ -6,6 +20,17 @@ export 'src/events/hardware_keyboard_detector.dart'
show HardwareKeyboardDetector;
export 'src/events/interfaces/multi_drag_listener.dart' show MultiDragListener;
export 'src/events/interfaces/multi_tap_listener.dart' show MultiTapListener;
export 'src/events/messages/double_tap_cancel_event.dart'
show DoubleTapCancelEvent;
export 'src/events/messages/double_tap_down_event.dart' show DoubleTapDownEvent;
export 'src/events/messages/double_tap_event.dart' show DoubleTapEvent;
export 'src/events/messages/drag_cancel_event.dart' show DragCancelEvent;
export 'src/events/messages/drag_end_event.dart' show DragEndEvent;
export 'src/events/messages/drag_start_event.dart' show DragStartEvent;
export 'src/events/messages/drag_update_event.dart' show DragUpdateEvent;
export 'src/events/messages/tap_cancel_event.dart' show TapCancelEvent;
export 'src/events/messages/tap_down_event.dart' show TapDownEvent;
export 'src/events/messages/tap_up_event.dart' show TapUpEvent;
export 'src/game/mixins/has_draggables.dart' show HasDraggables;
export 'src/game/mixins/has_hoverables.dart' show HasHoverables;
export 'src/game/mixins/has_tappables.dart' show HasTappables;
Expand Down
37 changes: 0 additions & 37 deletions packages/flame/lib/experimental.dart
Expand Up @@ -9,43 +9,6 @@
/// After the components lived here for some time, and when we gain more
/// confidence in their robustness, they will be moved out into the main Flame
/// library.
export 'src/camera/behaviors/bounded_position_behavior.dart'
show BoundedPositionBehavior;
export 'src/camera/behaviors/follow_behavior.dart' show FollowBehavior;
export 'src/camera/camera_component.dart' show CameraComponent;
export 'src/camera/viewfinder.dart' show Viewfinder;
export 'src/camera/viewport.dart' show Viewport;
export 'src/camera/viewports/circular_viewport.dart' show CircularViewport;
export 'src/camera/viewports/fixed_aspect_ratio_viewport.dart'
show FixedAspectRatioViewport;
export 'src/camera/viewports/fixed_size_viewport.dart' show FixedSizeViewport;
export 'src/camera/viewports/max_viewport.dart' show MaxViewport;
export 'src/camera/world.dart' show World;
export 'src/events/component_mixins/double_tap_callbacks.dart'
show DoubleTapCallbacks;
export 'src/events/component_mixins/drag_callbacks.dart' show DragCallbacks;
export 'src/events/component_mixins/tap_callbacks.dart' show TapCallbacks;
export 'src/events/flame_game_mixins/has_draggable_components.dart'
show
HasDraggableComponents; // ignore: deprecated_member_use_from_same_package
export 'src/events/flame_game_mixins/has_draggables_bridge.dart'
show HasDraggablesBridge; // ignore: deprecated_member_use_from_same_package
export 'src/events/flame_game_mixins/has_tappable_components.dart'
show
HasTappableComponents; // ignore: deprecated_member_use_from_same_package
export 'src/events/flame_game_mixins/has_tappables_bridge.dart'
show HasTappablesBridge; // ignore: deprecated_member_use_from_same_package
export 'src/events/messages/double_tap_cancel_event.dart'
show DoubleTapCancelEvent;
export 'src/events/messages/double_tap_down_event.dart' show DoubleTapDownEvent;
export 'src/events/messages/double_tap_event.dart' show DoubleTapEvent;
export 'src/events/messages/drag_cancel_event.dart' show DragCancelEvent;
export 'src/events/messages/drag_end_event.dart' show DragEndEvent;
export 'src/events/messages/drag_start_event.dart' show DragStartEvent;
export 'src/events/messages/drag_update_event.dart' show DragUpdateEvent;
export 'src/events/messages/tap_cancel_event.dart' show TapCancelEvent;
export 'src/events/messages/tap_down_event.dart' show TapDownEvent;
export 'src/events/messages/tap_up_event.dart' show TapUpEvent;
export 'src/experimental/fixed_integer_resolution_viewport.dart'
show FixedIntegerResolutionViewport;
export 'src/experimental/geometry/shapes/circle.dart' show Circle;
Expand Down
@@ -1,5 +1,5 @@
import 'package:flame/components.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:meta/meta.dart';

/// The [ButtonComponent] bundles two [PositionComponent]s, one that shows while
Expand Down
@@ -1,7 +1,7 @@
import 'dart:math';

import 'package:flame/components.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:flame/src/components/input/hud_margin_component.dart';
import 'package:meta/meta.dart';

Expand Down
@@ -1,5 +1,5 @@
import 'package:flame/components.dart';
import 'package:flame/experimental.dart';
import 'package:flame/events.dart';
import 'package:meta/meta.dart';

enum ButtonState {
Expand Down
@@ -1,5 +1,4 @@
import 'package:flame/components.dart';
import 'package:flame/experimental.dart' show CameraComponent;
import 'package:flame/game.dart';
import 'package:flutter/widgets.dart' show EdgeInsets;
import 'package:meta/meta.dart';
Expand Down

0 comments on commit 87b8a06

Please sign in to comment.