mirror of
https://github.com/flame-engine/flame.git
synced 2025-11-01 10:38:17 +08:00
fix: Deprecate HasGameRef in favor of HasGameReference (#3559)
This deprecates `HasGameRef` and suggests users to use `HasGameReference` instead.
This commit is contained in:
@ -1377,7 +1377,7 @@ class Player extends SpriteComponent with Notifier {
|
|||||||
Then our hud component could look like:
|
Then our hud component could look like:
|
||||||
|
|
||||||
```dart
|
```dart
|
||||||
class Hud extends PositionComponent with HasGameRef {
|
class Hud extends PositionComponent with HasGameReference {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void onLoad() {
|
void onLoad() {
|
||||||
|
|||||||
@ -46,7 +46,7 @@ class MyGame extends FlameGame {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class Player extends SpriteComponent with HasGameRef {
|
class Player extends SpriteComponent with HasGameReference {
|
||||||
Player(this.joystick)
|
Player(this.joystick)
|
||||||
: super(
|
: super(
|
||||||
anchor: Anchor.center,
|
anchor: Anchor.center,
|
||||||
|
|||||||
@ -3,7 +3,7 @@ import 'package:flame/components.dart';
|
|||||||
import 'package:rogue_shooter/components/enemy_component.dart';
|
import 'package:rogue_shooter/components/enemy_component.dart';
|
||||||
|
|
||||||
class BulletComponent extends SpriteAnimationComponent
|
class BulletComponent extends SpriteAnimationComponent
|
||||||
with HasGameRef, CollisionCallbacks {
|
with HasGameReference, CollisionCallbacks {
|
||||||
static const speed = 500.0;
|
static const speed = 500.0;
|
||||||
late final Vector2 velocity;
|
late final Vector2 velocity;
|
||||||
final Vector2 deltaPosition = Vector2.zero();
|
final Vector2 deltaPosition = Vector2.zero();
|
||||||
|
|||||||
@ -3,7 +3,7 @@ import 'dart:math';
|
|||||||
import 'package:flame/components.dart';
|
import 'package:flame/components.dart';
|
||||||
import 'package:rogue_shooter/components/enemy_component.dart';
|
import 'package:rogue_shooter/components/enemy_component.dart';
|
||||||
|
|
||||||
class EnemyCreator extends TimerComponent with HasGameRef {
|
class EnemyCreator extends TimerComponent with HasGameReference {
|
||||||
final Random random = Random();
|
final Random random = Random();
|
||||||
final _halfWidth = EnemyComponent.initialSize.x / 2;
|
final _halfWidth = EnemyComponent.initialSize.x / 2;
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
import 'package:flame/components.dart';
|
import 'package:flame/components.dart';
|
||||||
|
|
||||||
class ExplosionComponent extends SpriteAnimationComponent with HasGameRef {
|
class ExplosionComponent extends SpriteAnimationComponent
|
||||||
|
with HasGameReference {
|
||||||
ExplosionComponent({super.position})
|
ExplosionComponent({super.position})
|
||||||
: super(
|
: super(
|
||||||
size: Vector2.all(50),
|
size: Vector2.all(50),
|
||||||
|
|||||||
@ -5,7 +5,7 @@ import 'package:rogue_shooter/components/enemy_component.dart';
|
|||||||
import 'package:rogue_shooter/components/explosion_component.dart';
|
import 'package:rogue_shooter/components/explosion_component.dart';
|
||||||
|
|
||||||
class PlayerComponent extends SpriteAnimationComponent
|
class PlayerComponent extends SpriteAnimationComponent
|
||||||
with HasGameRef, CollisionCallbacks {
|
with HasGameReference, CollisionCallbacks {
|
||||||
late TimerComponent bulletCreator;
|
late TimerComponent bulletCreator;
|
||||||
|
|
||||||
PlayerComponent() : super(size: Vector2(50, 75), anchor: Anchor.center);
|
PlayerComponent() : super(size: Vector2(50, 75), anchor: Anchor.center);
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import 'package:flame/components.dart';
|
|||||||
import 'package:flame/sprite.dart';
|
import 'package:flame/sprite.dart';
|
||||||
import 'package:rogue_shooter/components/star_component.dart';
|
import 'package:rogue_shooter/components/star_component.dart';
|
||||||
|
|
||||||
class StarBackGroundCreator extends Component with HasGameRef {
|
class StarBackGroundCreator extends Component with HasGameReference {
|
||||||
final gapSize = 12;
|
final gapSize = 12;
|
||||||
|
|
||||||
late final SpriteSheet spriteSheet;
|
late final SpriteSheet spriteSheet;
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import 'package:flame/components.dart';
|
import 'package:flame/components.dart';
|
||||||
|
|
||||||
class StarComponent extends SpriteAnimationComponent with HasGameRef {
|
class StarComponent extends SpriteAnimationComponent with HasGameReference {
|
||||||
static const speed = 10;
|
static const speed = 10;
|
||||||
|
|
||||||
StarComponent({super.animation, super.position})
|
StarComponent({super.animation, super.position})
|
||||||
|
|||||||
@ -180,7 +180,7 @@ class Map extends Component {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class Rock extends SpriteComponent with HasGameRef, TapCallbacks {
|
class Rock extends SpriteComponent with HasGameReference, TapCallbacks {
|
||||||
Rock(Vector2 position)
|
Rock(Vector2 position)
|
||||||
: super(
|
: super(
|
||||||
position: position,
|
position: position,
|
||||||
|
|||||||
@ -53,7 +53,7 @@ class CollidableAnimationExample extends FlameGame with HasCollisionDetection {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class AnimatedComponent extends SpriteAnimationComponent
|
class AnimatedComponent extends SpriteAnimationComponent
|
||||||
with CollisionCallbacks, HasGameRef {
|
with CollisionCallbacks, HasGameReference {
|
||||||
final Vector2 velocity;
|
final Vector2 velocity;
|
||||||
|
|
||||||
AnimatedComponent(
|
AnimatedComponent(
|
||||||
|
|||||||
@ -30,7 +30,7 @@ class ComposabilityExample extends FlameGame {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class ParentSquare extends RectangleComponent with HasGameRef {
|
class ParentSquare extends RectangleComponent with HasGameReference {
|
||||||
static final defaultPaint = BasicPalette.white.paint()
|
static final defaultPaint = BasicPalette.white.paint()
|
||||||
..style = PaintingStyle.stroke;
|
..style = PaintingStyle.stroke;
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@ import 'package:flame/components.dart';
|
|||||||
import 'package:flame/game.dart';
|
import 'package:flame/game.dart';
|
||||||
|
|
||||||
class JoystickPlayer extends SpriteComponent
|
class JoystickPlayer extends SpriteComponent
|
||||||
with HasGameRef, CollisionCallbacks {
|
with HasGameReference, CollisionCallbacks {
|
||||||
/// Pixels/s
|
/// Pixels/s
|
||||||
double maxSpeed = 300.0;
|
double maxSpeed = 300.0;
|
||||||
late final Vector2 _lastSize = size.clone();
|
late final Vector2 _lastSize = size.clone();
|
||||||
|
|||||||
@ -23,6 +23,7 @@ export 'src/components/mixins/coordinate_transform.dart';
|
|||||||
export 'src/components/mixins/gesture_hitboxes.dart';
|
export 'src/components/mixins/gesture_hitboxes.dart';
|
||||||
export 'src/components/mixins/has_ancestor.dart';
|
export 'src/components/mixins/has_ancestor.dart';
|
||||||
export 'src/components/mixins/has_decorator.dart' show HasDecorator;
|
export 'src/components/mixins/has_decorator.dart' show HasDecorator;
|
||||||
|
// ignore: deprecated_member_use_from_same_package
|
||||||
export 'src/components/mixins/has_game_ref.dart' show HasGameRef;
|
export 'src/components/mixins/has_game_ref.dart' show HasGameRef;
|
||||||
export 'src/components/mixins/has_game_reference.dart' show HasGameReference;
|
export 'src/components/mixins/has_game_reference.dart' show HasGameReference;
|
||||||
export 'src/components/mixins/has_paint.dart';
|
export 'src/components/mixins/has_paint.dart';
|
||||||
|
|||||||
@ -452,7 +452,7 @@ class Component {
|
|||||||
/// - it is invoked when the size of the game canvas is already known.
|
/// - it is invoked when the size of the game canvas is already known.
|
||||||
///
|
///
|
||||||
/// If your loading logic requires knowing the size of the game canvas, then
|
/// If your loading logic requires knowing the size of the game canvas, then
|
||||||
/// add [HasGameRef] mixin and then query `game.size` or
|
/// add [HasGameReference] mixin and then query `game.size` or
|
||||||
/// `game.canvasSize`.
|
/// `game.canvasSize`.
|
||||||
///
|
///
|
||||||
/// The default implementation returns `null`, indicating that there is no
|
/// The default implementation returns `null`, indicating that there is no
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
import 'package:flame/src/components/core/component.dart';
|
import 'package:flame/src/components/core/component.dart';
|
||||||
import 'package:flame/src/components/mixins/has_game_reference.dart';
|
|
||||||
import 'package:flame/src/game/flame_game.dart';
|
import 'package:flame/src/game/flame_game.dart';
|
||||||
import 'package:flame/src/game/mixins/single_game_instance.dart';
|
import 'package:flame/src/game/mixins/single_game_instance.dart';
|
||||||
|
|
||||||
@ -9,9 +8,10 @@ import 'package:flame/src/game/mixins/single_game_instance.dart';
|
|||||||
/// The type [T] on the mixin is the type of your game class. This type will be
|
/// The type [T] on the mixin is the type of your game class. This type will be
|
||||||
/// the type of the [game] reference, and the mixin will check at runtime that
|
/// the type of the [game] reference, and the mixin will check at runtime that
|
||||||
/// the actual type matches the expectation.
|
/// the actual type matches the expectation.
|
||||||
///
|
@Deprecated(
|
||||||
/// [HasGameReference] is a newer version of this mixin, and will replace it in
|
'Use HasGameReference instead. This mixin will be removed in a future '
|
||||||
/// Flame v2.0.
|
'version of Flame.',
|
||||||
|
)
|
||||||
mixin HasGameRef<T extends FlameGame> on Component {
|
mixin HasGameRef<T extends FlameGame> on Component {
|
||||||
T? _game;
|
T? _game;
|
||||||
|
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
|
// ignore_for_file: deprecated_member_use_from_same_package
|
||||||
|
|
||||||
import 'package:flame/components.dart';
|
import 'package:flame/components.dart';
|
||||||
import 'package:flame/game.dart';
|
import 'package:flame/game.dart';
|
||||||
import 'package:flame_test/flame_test.dart';
|
import 'package:flame_test/flame_test.dart';
|
||||||
|
|||||||
@ -420,7 +420,7 @@ class _MyTappableComponent extends _MyComponent with TapCallbacks {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class _MyComponent extends PositionComponent with HasGameRef {
|
class _MyComponent extends PositionComponent with HasGameReference {
|
||||||
bool isUpdateCalled = false;
|
bool isUpdateCalled = false;
|
||||||
bool isRenderCalled = false;
|
bool isRenderCalled = false;
|
||||||
int onRemoveCallCounter = 0;
|
int onRemoveCallCounter = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user