From 5e64ec76554d5c85dfdd48950a442b7fbc870227 Mon Sep 17 00:00:00 2001 From: Alvaro Almeida Freire Stivi Date: Wed, 3 Jul 2024 13:59:31 +0000 Subject: [PATCH] Fixes emitting new state on closed AssetsManager --- lib/assets_manager/cubit/assets_manager_cubit.dart | 1 + test/game/behaviors/ball_spawning_behavior_test.dart | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/assets_manager/cubit/assets_manager_cubit.dart b/lib/assets_manager/cubit/assets_manager_cubit.dart index 7932f194..f204dc48 100644 --- a/lib/assets_manager/cubit/assets_manager_cubit.dart +++ b/lib/assets_manager/cubit/assets_manager_cubit.dart @@ -19,6 +19,7 @@ class AssetsManagerCubit extends Cubit { /// do its job without adding too much delay for the user, we are letting /// the UI paint first, and then we start loading the assets. await Future.delayed(const Duration(seconds: 1)); + if (isClosed) return; final loadables = Function()>[ _game.preFetchLeaderboard, ..._game.preLoadAssets(), diff --git a/test/game/behaviors/ball_spawning_behavior_test.dart b/test/game/behaviors/ball_spawning_behavior_test.dart index 6ff6baa8..6c875b2d 100644 --- a/test/game/behaviors/ball_spawning_behavior_test.dart +++ b/test/game/behaviors/ball_spawning_behavior_test.dart @@ -131,6 +131,7 @@ void main() { flameTester.testGameWidget( 'onNewState adds a ball', setUp: (game, _) async { + await game.onLoad(); final behavior = BallSpawningBehavior(); await game.pump([ behavior,