GithubHelp home page GithubHelp logo

verygoodopensource / very_good_flame_game Goto Github PK

View Code? Open in Web Editor NEW
84.0 4.0 11.0 4.04 MB

A Very Good Flutter Starter Flame Game created by the Very Good Ventures Team ๐Ÿฆ„

Home Page: https://brickhub.dev/bricks/very_good_flame_game

License: MIT License

Dart 55.70% Kotlin 0.18% Swift 2.33% Objective-C 0.04% HTML 4.70% CMake 9.79% C++ 20.10% C 0.84% Ruby 3.31% Shell 3.01%
flame-engine flutter flutter-template game templates vgv

very_good_flame_game's People

Contributors

alestiago avatar bbariskilic avatar cgutierr-zgz avatar christianedwardpadilla avatar dependabot[bot] avatar felangel avatar github-actions[bot] avatar mrsagarshah avatar mxknt avatar renancaraujo avatar scarletteliza avatar tomarra avatar wolfenrain avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

very_good_flame_game's Issues

feat: create project scaffold

Requirements

  • Create new Flutter project via very_good_core template
  • Create standard template project structure (below)
  • Includes the following:
    • ISSUE_TEMPLATES
    • PULL_REQUEST_TEMPLATE
    • dependabot.yaml
    • CODEOWNERS
    • CONTRIBUTING.md
    • LICENSE
    • README
    • CHANGELOG
โ”œโ”€โ”€ brick
โ”‚ย ย  โ”œโ”€โ”€ __brick__
โ”‚ย ย  โ””โ”€โ”€ hooks
โ”œโ”€โ”€ src
โ”‚ย ย  โ””โ”€โ”€ very_good_flame_game
โ”‚ย ย      โ”œโ”€โ”€ lib
โ”‚ย ย      โ”‚ย ย  โ””โ”€โ”€ src
โ”‚ย ย      โ””โ”€โ”€ test
โ”‚ย ย          โ””โ”€โ”€ src
โ””โ”€โ”€ tool
    โ””โ”€โ”€ generator

chore: can't publish due to Mason 2MB limit

Description

Upon publishing with mason publish the following error is thrown:

Your bundle is 2.585 MB. Hosted bricks must be smaller than 2.0 MB.

Steps To Reproduce

  1. Attempt to publish on BrickHub:
mason publish --directory brick/
  1. See warning:
Your bundle is 2.585 MB. Hosted bricks must be smaller than 2.0 MB.

Expected Behavior
Publishing should succeed and not throw an error.

fix!: increase template min Flutter SDK and Dart SDK to be compatible with mockingjay

Description

The minor Flutter SDK should be bumped to be at least compatible with 3.16.0, consequently, the Dart SDK should be at least compatible with 3.2.0.

Steps To Reproduce

  1. Generate the template.
  2. Get packages using the Flutter Version 3.13.2 (compatible with Dart SDK 3.1.0)
  3. Getting dependencies fails

Expected Behavior
Dependencies should be successfully retrieved when using the minor compatible SDK.

Additional Context

feat: unicorn entity

Requirements

  • Add package:flame_behaviors
  • Create "Unicorn" Entity (asset below)
  • Unicorn entity is centered in the game

unicorn_pixel_art

fix: `flutter test` fails on Fluter 3.16.0

Description
Running test fails on Flutter (3.16.0)

Steps To Reproduce

  1. Run flutter tests:
# Run tests (from src/very_good_flame_game)
flutter test
  1. See failures.
Logs
00:00 +0: loading /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/loading/cubit/preload/preload_state_test.dart                                            
00:01 +0: loading /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/loading/cubit/preload/preload_state_test.dart                                            
00:01 +0: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/loading/cubit/preload/preload_state_test.dart: PreloadState initial                              
00:01 +1: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/loading/cubit/preload/preload_state_test.dart: PreloadState initial                              
00:01 +1: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/loading/cubit/preload/preload_state_test.dart: PreloadState progress when not started is zero    
00:01 +2: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/loading/cubit/preload/preload_state_test.dart: PreloadState progress when not started is zero    
00:01 +2: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/loading/cubit/preload/preload_state_test.dart: PreloadState progress after started               
00:01 +3: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/loading/cubit/preload/preload_state_test.dart: PreloadState progress after started               
00:01 +3: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/loading/cubit/preload/preload_state_test.dart: PreloadState isComplete when not started is zero  
00:01 +4: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/loading/cubit/preload/preload_state_test.dart: PreloadState isComplete when not started is zero  
00:01 +4: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/loading/cubit/preload/preload_state_test.dart: PreloadState isComplete after started             
00:01 +5: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/loading/cubit/preload/preload_state_test.dart: PreloadState isComplete after started             
00:01 +5: loading /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/loading/cubit/preload/preload_cubit_test.dart                                            
00:01 +5: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/loading/cubit/preload/preload_cubit_test.dart: PreloadCubit loadSequentially loads assets        
00:02 +5: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/loading/cubit/preload/preload_cubit_test.dart: PreloadCubit loadSequentially loads assets        
00:02 +6: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/loading/view/loading_page_test.dart: LoadingPage basic layout                                    
00:02 +7: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/loading/view/loading_page_test.dart: LoadingPage basic layout                                    
00:02 +8: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/loading/view/loading_page_test.dart: LoadingPage basic layout                                    
00:02 +9: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/loading/view/loading_page_test.dart: LoadingPage basic layout                                    
00:02 +10: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/app/view/app_test.dart: App renders AppView                                                     
00:02 +11: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/app/view/app_test.dart: App renders AppView                                                     
00:02 +12: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/title/view/title_page_test.dart: TitlePage renders TitleView                                    
00:02 +13: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/loading/view/loading_page_test.dart: LoadingPage redirects after loading                        
00:02 +13: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/loading/view/loading_page_test.dart: LoadingPage redirects after loading                        
โ•โ•โ•ก EXCEPTION CAUGHT BY FOUNDATION LIBRARY โ•žโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
The following _TypeError was thrown while dispatching notifications for _History:
type 'Null' is not a subtype of type 'bool'

When the exception was thrown, this was the stack:
#0      MockNavigator.canPop (package:mockingjay/src/mock_navigator.dart:66:7)
#1      _MockNavigatorState.canPop (package:mockingjay/src/mock_navigator.dart:193:23)
#2      NavigatorState._handleHistoryChanged (package:flutter/src/widgets/navigator.dart:3489:34)
#3      ChangeNotifier.notifyListeners (package:flutter/src/foundation/change_notifier.dart:433:24)
#4      _History.addAll (package:flutter/src/widgets/navigator.dart:3406:7)
#5      NavigatorState.restoreState (package:flutter/src/widgets/navigator.dart:3608:18)
#6      RestorationMixin._doRestore (package:flutter/src/widgets/restoration.dart:924:5)
#7      RestorationMixin.didChangeDependencies (package:flutter/src/widgets/restoration.dart:910:7)
#8      NavigatorState.didChangeDependencies (package:flutter/src/widgets/navigator.dart:3656:11)
#9      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5620:11)
#10     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5447:5)
...     Normal element mounting (220 frames)
#230    Element.inflateWidget (package:flutter/src/widgets/framework.dart:4326:16)
#231    MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6871:36)
#232    MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6883:32)
...     Normal element mounting (453 frames)
#685    _InheritedProviderScopeElement.mount (package:provider/src/inherited_provider.dart:411:11)
...     Normal element mounting (7 frames)
#692    SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11)
...     Normal element mounting (7 frames)
#699    SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11)
...     Normal element mounting (7 frames)
#706    _NestedHookElement.mount (package:nested/nested.dart:187:11)
...     Normal element mounting (7 frames)
#713    SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11)
#714    Element.inflateWidget (package:flutter/src/widgets/framework.dart:4326:16)
#715    Element.updateChild (package:flutter/src/widgets/framework.dart:3831:20)
#716    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16)
#717    Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7)
#718    ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5)
#719    Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15)
#720    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16)
#721    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5634:11)
#722    Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7)
#723    StatefulElement.update (package:flutter/src/widgets/framework.dart:5657:5)
#724    Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15)
#725    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16)
#726    Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7)
#727    ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5)
#728    Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15)
#729    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16)
#730    Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7)
#731    ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5)
#732    Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15)
#733    _RawViewElement._updateChild (package:flutter/src/widgets/view.dart:289:16)
#734    _RawViewElement.update (package:flutter/src/widgets/view.dart:376:5)
#735    Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15)
#736    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16)
#737    Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7)
#738    StatelessElement.update (package:flutter/src/widgets/framework.dart:5547:5)
#739    Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15)
#740    RootElement._rebuild (package:flutter/src/widgets/binding.dart:1334:16)
#741    RootElement.update (package:flutter/src/widgets/binding.dart:1312:5)
#742    RootElement.performRebuild (package:flutter/src/widgets/binding.dart:1326:7)
#743    Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7)
#744    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2895:19)
#745    AutomatedTestWidgetsFlutterBinding.drawFrame (package:flutter_test/src/binding.dart:1409:19)
#746    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:457:5)
#747    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1325:15)
#748    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1255:9)
#749    AutomatedTestWidgetsFlutterBinding.pump.<anonymous closure> (package:flutter_test/src/binding.dart:1264:9)
#752    TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:71:41)
#753    AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:1251:27)
#754    WidgetTester.pumpWidget.<anonymous closure> (package:flutter_test/src/widget_tester.dart:578:22)
#757    TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:71:41)
#758    WidgetTester.pumpWidget (package:flutter_test/src/widget_tester.dart:575:27)
#759    PumpApp.pumpApp (file:///Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/helpers/pump_app.dart:18:12)
#760    main.<anonymous closure>.<anonymous closure> (file:///Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/loading/view/loading_page_test.dart:86:20)
#761    testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:168:29)
<asynchronous suspension>
#762    TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1013:5)
<asynchronous suspension>
<asynchronous suspension>
(elided 5 frames from dart:async and package:stack_trace)

The _History sending notification was:
  [Instance of '_RouteEntry']
โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

00:02 +13 -1: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/loading/view/loading_page_test.dart: LoadingPage redirects after loading [E]                 
  Test failed. See exception logs above.
  The test description was: redirects after loading
  

To run this test again: /Users/alestiago/Developer/flutter/flutter/bin/cache/dart-sdk/bin/dart test /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/loading/view/loading_page_test.dart -p vm --plain-name 'LoadingPage redirects after loading'

00:02 +14 -1: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/title/view/title_page_test.dart: TitleView renders start button                              
00:02 +14 -1: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/title/view/title_page_test.dart: TitleView starts the game when start button is tapped       
00:03 +14 -1: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/title/view/title_page_test.dart: TitleView starts the game when start button is tapped       
00:03 +14 -1: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/title/view/title_page_test.dart: TitleView starts the game when start button is tapped       
โ•โ•โ•ก EXCEPTION CAUGHT BY FOUNDATION LIBRARY โ•žโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
The following _TypeError was thrown while dispatching notifications for _History:
type 'Null' is not a subtype of type 'bool'

When the exception was thrown, this was the stack:
#0      MockNavigator.canPop (package:mockingjay/src/mock_navigator.dart:66:7)
#1      _MockNavigatorState.canPop (package:mockingjay/src/mock_navigator.dart:193:23)
#2      NavigatorState._handleHistoryChanged (package:flutter/src/widgets/navigator.dart:3489:34)
#3      ChangeNotifier.notifyListeners (package:flutter/src/foundation/change_notifier.dart:433:24)
#4      _History.addAll (package:flutter/src/widgets/navigator.dart:3406:7)
#5      NavigatorState.restoreState (package:flutter/src/widgets/navigator.dart:3608:18)
#6      RestorationMixin._doRestore (package:flutter/src/widgets/restoration.dart:924:5)
#7      RestorationMixin.didChangeDependencies (package:flutter/src/widgets/restoration.dart:910:7)
#8      NavigatorState.didChangeDependencies (package:flutter/src/widgets/navigator.dart:3656:11)
#9      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5620:11)
#10     ComponentElement.mount (package:flutter/src/widgets/framework.dart:5447:5)
...     Normal element mounting (220 frames)
#230    Element.inflateWidget (package:flutter/src/widgets/framework.dart:4326:16)
#231    MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6871:36)
#232    MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6883:32)
...     Normal element mounting (453 frames)
#685    _InheritedProviderScopeElement.mount (package:provider/src/inherited_provider.dart:411:11)
...     Normal element mounting (7 frames)
#692    SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11)
...     Normal element mounting (7 frames)
#699    SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11)
...     Normal element mounting (7 frames)
#706    _NestedHookElement.mount (package:nested/nested.dart:187:11)
...     Normal element mounting (7 frames)
#713    SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11)
#714    Element.inflateWidget (package:flutter/src/widgets/framework.dart:4326:16)
#715    Element.updateChild (package:flutter/src/widgets/framework.dart:3831:20)
#716    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16)
#717    Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7)
#718    ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5)
#719    Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15)
#720    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16)
#721    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5634:11)
#722    Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7)
#723    StatefulElement.update (package:flutter/src/widgets/framework.dart:5657:5)
#724    Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15)
#725    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16)
#726    Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7)
#727    ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5)
#728    Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15)
#729    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16)
#730    Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7)
#731    ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5)
#732    Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15)
#733    _RawViewElement._updateChild (package:flutter/src/widgets/view.dart:289:16)
#734    _RawViewElement.update (package:flutter/src/widgets/view.dart:376:5)
#735    Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15)
#736    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16)
#737    Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7)
#738    StatelessElement.update (package:flutter/src/widgets/framework.dart:5547:5)
#739    Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15)
#740    RootElement._rebuild (package:flutter/src/widgets/binding.dart:1334:16)
#741    RootElement.update (package:flutter/src/widgets/binding.dart:1312:5)
#742    RootElement.performRebuild (package:flutter/src/widgets/binding.dart:1326:7)
#743    Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7)
#744    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2895:19)
#745    AutomatedTestWidgetsFlutterBinding.drawFrame (package:flutter_test/src/binding.dart:1409:19)
#746    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:457:5)
#747    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1325:15)
#748    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1255:9)
#749    AutomatedTestWidgetsFlutterBinding.pump.<anonymous closure> (package:flutter_test/src/binding.dart:1264:9)
#752    TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:71:41)
#753    AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:1251:27)
#754    WidgetTester.pumpWidget.<anonymous closure> (package:flutter_test/src/widget_tester.dart:578:22)
#757    TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:71:41)
#758    WidgetTester.pumpWidget (package:flutter_test/src/widget_tester.dart:575:27)
#759    PumpApp.pumpApp (file:///Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/helpers/pump_app.dart:18:12)
#760    main.<anonymous closure>.<anonymous closure> (file:///Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/title/view/title_page_test.dart:30:20)
#761    testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:168:29)
<asynchronous suspension>
#762    TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1013:5)
<asynchronous suspension>
<asynchronous suspension>
(elided 5 frames from dart:async and package:stack_trace)

The _History sending notification was:
  [Instance of '_RouteEntry']
โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

00:03 +14 -2: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/title/view/title_page_test.dart: TitleView starts the game when start button is tapped [E]   
  Test failed. See exception logs above.
  The test description was: starts the game when start button is tapped
  

To run this test again: /Users/alestiago/Developer/flutter/flutter/bin/cache/dart-sdk/bin/dart test /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/title/view/title_page_test.dart -p vm --plain-name 'TitleView starts the game when start button is tapped'

00:03 +14 -2: loading /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/game/components/counter_component_test.dart                                          
00:03 +14 -2: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/game/components/counter_component_test.dart: CounterComponent has all components             
00:03 +15 -2: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/game/components/counter_component_test.dart: CounterComponent has all components             
00:03 +15 -2: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/game/components/counter_component_test.dart: CounterComponent changes text count correctly   
00:03 +16 -2: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/game/components/counter_component_test.dart: CounterComponent changes text count correctly   
00:03 +16 -2: loading /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/game/view/game_page_test.dart                                                        
00:03 +16 -2: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/game/view/game_page_test.dart: (setUpAll)                                                    
00:03 +16 -2: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/game/view/game_page_test.dart: GamePage (setUpAll)                                           
00:03 +16 -2: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/game/view/game_page_test.dart: GamePage is routable                                          
00:03 +17 -2: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/game/view/game_page_test.dart: GamePage is routable                                          
00:03 +18 -2: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/game/view/game_page_test.dart: GamePage is routable                                          
00:03 +19 -2: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/game/view/game_page_test.dart: GamePage is routable                                          
00:03 +20 -2: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/game/view/game_page_test.dart: GamePage is routable                                          
00:03 +21 -2: ... TappingBehavior when tapped, starts playing the animation                                                                                                                            
00:03 +22 -2: ... TappingBehavior when tapped, starts playing the animation                                                                                                                            
00:03 +23 -2: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/game/view/game_page_test.dart: GameView toggles mute button correctly                        
00:03 +24 -2: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/game/view/game_page_test.dart: GameView toggles mute button correctly                        
00:03 +24 -2: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/game/view/game_page_test.dart: GameView calls correct method based on state                  
00:03 +25 -2: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/game/view/game_page_test.dart: GameView calls correct method based on state                  
00:03 +25 -2: /Users/alestiago/Developer/workspace/oss/very_good_flame_game/src/very_good_flame_game/test/game/view/game_page_test.dart: (tearDownAll)                                                 
00:03 +25 -2: Some tests failed.                                                                                                                                                                       

Expected Behavior
All test should pass on the latest Flutter version (ie 3.16.0)

Additional Context

feat: tapping behavior

Requirements

  • TappingBehavior is added to the UnicornEntity
  • TappingBehavior handles taps/clicks on parent entity
  • A tap/click increments count
  • A tap/click plays sfx

feat: continuous integration

Requirements

  • flutter_package workflow from very_good_workflows
  • semantic_pull_request workflow from very_good_workflows
  • pana workflow from very_good_workflows

feat: title screen

Requirements

  • Title Text ("Very Good Flame Game") (#2A48DF)
  • Background Color (#FFFFFF)
  • Button to start the game ("Start") (#2A48DF)
  • Tapping on the button starts the game

feat: game scene

Requirements

  • Background color #2A48DF
  • An int count is maintained as part of the game state
  • Mute/Unmute button in top right corner

feat: counter component

Requirements

  • Renders text with the current count ("You have tapped the unicorn ${count} times.") (#FFFFFF)
  • Uses a custom Google Font
  • Aligned Top, Center (centered above the unicorn entity)

fix: remove ephemeral and ignored files

Description

The bundled and published very_good_flame_game includes a .DS_Store file. This is ignored by git, but when publishing locally with mason publish the bundles includes such file.

We should publish a new fix without the ephemeral and ignored files.

We should add a workflow/script to handle publishing after tagging and ensures no ephemeral or ignored files are included.

Related issues

fix: The web version on mobile device is not displayed properly

Description
I tried the web build on a mobile device. The text is too big for the screen and the image is blurry.

Steps To Reproduce

  1. Build the project flutter build web -t lib/main_production.dart
  2. Deploy on firebase
  3. Go to your app on your mobile browser

Expected Behavior
I'm expecting the game to be optimized for mobile devices even if it's the web version.

Screenshots
image

fix: Class `VeryGoodFlameGame` does not assume app name

Description

When generating the template with a game named, for example, "My Fun Game", the class VeryGoodFlameGame keeps its raw name rather than assuming the name of the game when it should be MyFunGame.

This is the brick location:

https://github.com/VeryGoodOpenSource/very_good_flame_game/blob/main/brick/__brick__/%7B%7Bproject_name.snakeCase()%7D%7D/lib/game/%7B%7Bproject_name.snakeCase()%7D%7D.dart#L8

Observe that the file name assimes project_name.snakeCase() but the class doesnt.

fix: SpriteAnimation errors listed in Dart Analysis and app won't run

Description
When using the VGV CLI to create a Flame game there are 13 errors listed in Dart Analysis and the template app won't run.

Steps To Reproduce

  1. From terminal run: very_good create flutter_app very_good_flutter_app --desc "A Flutter app built using Very Good Ventures Very Good CLI"
  2. Open project in IntelliJ
  3. Look at Dart Analysis tab
  4. See 13 errors - most of which are pertaining to Sprite Animation.
  5. There are also 6 hints, including that HasTappables and Camera have been deprecated (I know Camera deprecation is in the last week).

Expected Behavior
No Dart Analysis errors to be listed.

Screenshots
image

Additional Context
Macbook Pro M1
macOS 13.3.1
IntelliJ IDEA 2022.3.3 (Community Edition)
Flutter 3.10.0 (tried rolling back. Still gave errors)
Dart Dart 3.0.2 (tried rolling back. Still gave errors)
pubspec.yaml was not updated so entries remained as shown below. Even updating them didn't solve issue. I also tried rolling back. Still gave errors)
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.