chore: fix sandbox and asset cache loading (#445)

pull/446/head
Allison Ryan 2 years ago committed by GitHub
parent 973375a9b3
commit 4ad59a795a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -57,7 +57,7 @@ class _TurboChargeSpriteAnimationComponent extends SpriteAnimationComponent
Future<void> onLoad() async { Future<void> onLoad() async {
await super.onLoad(); await super.onLoad();
final spriteSheet = await gameRef.images.load( final spriteSheet = gameRef.images.fromCache(
Assets.images.ball.flameEffect.keyName, Assets.images.ball.flameEffect.keyName,
); );

@ -109,7 +109,7 @@ class _OuterBoundary extends BodyComponent with InitialPosition, ZIndex {
final topLeftCurve = BezierCurveShape( final topLeftCurve = BezierCurveShape(
controlPoints: [ controlPoints: [
topWall.vertex1, topWall.vertex2,
Vector2(-31.5, -69.9), Vector2(-31.5, -69.9),
Vector2(-32.3, -57.2), Vector2(-32.3, -57.2),
], ],
@ -123,7 +123,7 @@ class _OuterBoundary extends BodyComponent with InitialPosition, ZIndex {
final upperLeftWallCurve = BezierCurveShape( final upperLeftWallCurve = BezierCurveShape(
controlPoints: [ controlPoints: [
topLeftWall.vertex1, topLeftWall.vertex2,
Vector2(-33.9, -40.7), Vector2(-33.9, -40.7),
Vector2(-32.5, -39), Vector2(-32.5, -39),
], ],

@ -108,7 +108,7 @@ class _PlungerSpriteAnimationGroupComponent
@override @override
Future<void> onLoad() async { Future<void> onLoad() async {
await super.onLoad(); await super.onLoad();
final spriteSheet = await gameRef.images.load( final spriteSheet = gameRef.images.fromCache(
Assets.images.plunger.plunger.keyName, Assets.images.plunger.plunger.keyName,
); );
const amountPerRow = 20; const amountPerRow = 20;

@ -1,6 +1,7 @@
import 'dart:async'; import 'dart:async';
import 'package:flame/input.dart'; import 'package:flame/input.dart';
import 'package:flame_bloc/flame_bloc.dart';
import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_components/pinball_components.dart';
import 'package:pinball_flame/pinball_flame.dart'; import 'package:pinball_flame/pinball_flame.dart';
import 'package:sandbox/stories/ball/basic_ball_game.dart'; import 'package:sandbox/stories/ball/basic_ball_game.dart';
@ -29,11 +30,14 @@ class AndroidSpaceshipGame extends BallGame {
await super.onLoad(); await super.onLoad();
camera.followVector2(Vector2.zero()); camera.followVector2(Vector2.zero());
await addAll( await add(
[ FlameBlocProvider<AndroidSpaceshipCubit, AndroidSpaceshipState>(
AndroidSpaceship(position: Vector2.zero()), create: AndroidSpaceshipCubit.new,
AndroidAnimatronic(), children: [
], AndroidSpaceship(position: Vector2.zero()),
AndroidAnimatronic(),
],
),
); );
await traceAllBodies(); await traceAllBodies();

@ -10,6 +10,11 @@ class LaunchRampGame extends BallGame {
: super( : super(
ballPriority: ZIndexes.ballOnLaunchRamp, ballPriority: ZIndexes.ballOnLaunchRamp,
ballLayer: Layer.launcher, ballLayer: Layer.launcher,
imagesFileNames: [
Assets.images.launchRamp.ramp.keyName,
Assets.images.launchRamp.backgroundRailing.keyName,
Assets.images.launchRamp.foregroundRailing.keyName,
],
); );
static const description = ''' static const description = '''

@ -1,10 +1,18 @@
import 'package:flame/input.dart'; import 'package:flame/input.dart';
import 'package:flame_bloc/flame_bloc.dart';
import 'package:pinball_components/pinball_components.dart'; 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 PlungerGame extends BallGame class PlungerGame extends BallGame
with HasKeyboardHandlerComponents, Traceable { with HasKeyboardHandlerComponents, Traceable {
PlungerGame()
: super(
imagesFileNames: [
Assets.images.plunger.plunger.keyName,
],
);
static const description = ''' static const description = '''
Shows how Plunger is rendered. Shows how Plunger is rendered.
@ -19,7 +27,12 @@ class PlungerGame extends BallGame
final center = screenToWorld(camera.viewport.canvasSize! / 2); final center = screenToWorld(camera.viewport.canvasSize! / 2);
final plunger = Plunger() final plunger = Plunger()
..initialPosition = Vector2(center.x - 8.8, center.y); ..initialPosition = Vector2(center.x - 8.8, center.y);
await add(plunger); await add(
FlameBlocProvider<PlungerCubit, PlungerState>(
create: PlungerCubit.new,
children: [plunger],
),
);
await plunger.add(PlungerKeyControllingBehavior()); await plunger.add(PlungerKeyControllingBehavior());
await traceAllBodies(); await traceAllBodies();

@ -128,7 +128,7 @@ packages:
source: hosted source: hosted
version: "1.0.2" version: "1.0.2"
flame_bloc: flame_bloc:
dependency: transitive dependency: "direct main"
description: description:
name: flame_bloc name: flame_bloc
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"

@ -9,6 +9,7 @@ environment:
dependencies: dependencies:
dashbook: ^0.1.7 dashbook: ^0.1.7
flame: ^1.1.1 flame: ^1.1.1
flame_bloc: ^1.4.0
flame_forge2d: flame_forge2d:
git: git:
url: https://github.com/flame-engine/flame url: https://github.com/flame-engine/flame

@ -14,8 +14,11 @@ void main() {
group( group(
'BallTurboChargingBehavior', 'BallTurboChargingBehavior',
() { () {
final asset = theme.Assets.images.dash.ball.keyName; final assets = [
final flameTester = FlameTester(() => TestGame([asset])); theme.Assets.images.dash.ball.keyName,
Assets.images.ball.flameEffect.keyName,
];
final flameTester = FlameTester(() => TestGame(assets));
test('can be instantiated', () { test('can be instantiated', () {
expect( expect(

@ -10,7 +10,8 @@ import '../../../helpers/helpers.dart';
void main() { void main() {
TestWidgetsFlutterBinding.ensureInitialized(); TestWidgetsFlutterBinding.ensureInitialized();
final flameTester = FlameTester(TestGame.new); final asset = Assets.images.plunger.plunger.keyName;
final flameTester = FlameTester(() => TestGame([asset]));
group('Plunger', () { group('Plunger', () {
test('can be instantiated', () { test('can be instantiated', () {
@ -69,6 +70,7 @@ void main() {
flameTester.testGameWidget( flameTester.testGameWidget(
'pulling', 'pulling',
setUp: (game, tester) async { setUp: (game, tester) async {
await game.images.load(asset);
await game.ensureAdd(Plunger()); await game.ensureAdd(Plunger());
game.camera.followVector2(Vector2.zero()); game.camera.followVector2(Vector2.zero());
game.camera.zoom = 4.1; game.camera.zoom = 4.1;
@ -92,6 +94,7 @@ void main() {
flameTester.testGameWidget( flameTester.testGameWidget(
'releasing', 'releasing',
setUp: (game, tester) async { setUp: (game, tester) async {
await game.images.load(asset);
await game.ensureAdd(Plunger()); await game.ensureAdd(Plunger());
game.camera.followVector2(Vector2.zero()); game.camera.followVector2(Vector2.zero());
game.camera.zoom = 4.1; game.camera.zoom = 4.1;

Loading…
Cancel
Save