├── .firebaserc
├── .github
├── PULL_REQUEST_TEMPLATE.md
└── workflows
│ ├── firebase-hosting-merge.yml
│ ├── firebase-hosting-pull-request.yml
│ └── github-auto-tag.yml
├── .gitignore
├── .idea
└── runConfigurations
│ └── main_dart.xml
├── .metadata
├── .vscode
└── launch.json
├── LICENSE
├── README.md
├── analysis_options.yaml
├── android
├── .gitignore
├── app
│ ├── build.gradle
│ └── src
│ │ ├── debug
│ │ └── AndroidManifest.xml
│ │ ├── development
│ │ ├── ic_launcher-playstore.png
│ │ └── res
│ │ │ ├── drawable
│ │ │ └── ic_launcher_foreground.xml
│ │ │ ├── mipmap-anydpi-v26
│ │ │ ├── ic_launcher.xml
│ │ │ └── ic_launcher_round.xml
│ │ │ ├── mipmap-hdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-mdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ └── values
│ │ │ └── ic_launcher_background.xml
│ │ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── ic_launcher-playstore.png
│ │ ├── kotlin
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── verygoodcore
│ │ │ │ └── MainActivity.kt
│ │ └── res
│ │ │ ├── drawable
│ │ │ ├── ic_launch_image.xml
│ │ │ ├── ic_launcher_foreground.xml
│ │ │ └── launch_background.xml
│ │ │ ├── mipmap-anydpi-v26
│ │ │ ├── ic_launcher.xml
│ │ │ └── ic_launcher_round.xml
│ │ │ ├── mipmap-hdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-mdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── values-night
│ │ │ └── styles.xml
│ │ │ └── values
│ │ │ ├── ic_launcher_background.xml
│ │ │ └── styles.xml
│ │ ├── profile
│ │ └── AndroidManifest.xml
│ │ └── staging
│ │ ├── ic_launcher-playstore.png
│ │ └── res
│ │ ├── drawable
│ │ └── ic_launcher_foreground.xml
│ │ ├── mipmap-anydpi-v26
│ │ ├── ic_launcher.xml
│ │ └── ic_launcher_round.xml
│ │ ├── mipmap-hdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-mdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xhdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xxhdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xxxhdpi
│ │ └── ic_launcher.png
│ │ └── values
│ │ └── ic_launcher_background.xml
├── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ └── gradle-wrapper.properties
└── settings.gradle
├── assets
└── shared
│ ├── bus_rotation--example.gif
│ └── z_cubic_text--example.gif
├── codemagic.yaml
├── coverage_badge.svg
├── firebase.json
├── ios
├── .gitignore
├── Flutter
│ ├── AppFrameworkInfo.plist
│ ├── Debug.xcconfig
│ └── Release.xcconfig
├── Podfile
├── Runner.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ └── xcshareddata
│ │ └── xcschemes
│ │ ├── Runner.xcscheme
│ │ ├── development.xcscheme
│ │ ├── production.xcscheme
│ │ └── staging.xcscheme
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── WorkspaceSettings.xcsettings
└── Runner
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ ├── AppIcon-dev.appiconset
│ │ ├── 100.png
│ │ ├── 1024.png
│ │ ├── 114.png
│ │ ├── 120.png
│ │ ├── 128.png
│ │ ├── 144.png
│ │ ├── 152.png
│ │ ├── 16.png
│ │ ├── 167.png
│ │ ├── 172.png
│ │ ├── 180.png
│ │ ├── 196.png
│ │ ├── 20.png
│ │ ├── 216.png
│ │ ├── 256.png
│ │ ├── 29.png
│ │ ├── 32.png
│ │ ├── 40.png
│ │ ├── 48.png
│ │ ├── 50.png
│ │ ├── 512.png
│ │ ├── 55.png
│ │ ├── 57.png
│ │ ├── 58.png
│ │ ├── 60.png
│ │ ├── 64.png
│ │ ├── 72.png
│ │ ├── 76.png
│ │ ├── 80.png
│ │ ├── 87.png
│ │ ├── 88.png
│ │ └── Contents.json
│ ├── AppIcon-stg.appiconset
│ │ ├── 100.png
│ │ ├── 1024.png
│ │ ├── 114.png
│ │ ├── 120.png
│ │ ├── 128.png
│ │ ├── 144.png
│ │ ├── 152.png
│ │ ├── 16.png
│ │ ├── 167.png
│ │ ├── 172.png
│ │ ├── 180.png
│ │ ├── 196.png
│ │ ├── 20.png
│ │ ├── 216.png
│ │ ├── 256.png
│ │ ├── 29.png
│ │ ├── 32.png
│ │ ├── 40.png
│ │ ├── 48.png
│ │ ├── 50.png
│ │ ├── 512.png
│ │ ├── 55.png
│ │ ├── 57.png
│ │ ├── 58.png
│ │ ├── 60.png
│ │ ├── 64.png
│ │ ├── 72.png
│ │ ├── 76.png
│ │ ├── 80.png
│ │ ├── 87.png
│ │ ├── 88.png
│ │ └── Contents.json
│ ├── AppIcon.appiconset
│ │ ├── 100.png
│ │ ├── 1024.png
│ │ ├── 114.png
│ │ ├── 120.png
│ │ ├── 128.png
│ │ ├── 144.png
│ │ ├── 152.png
│ │ ├── 16.png
│ │ ├── 167.png
│ │ ├── 172.png
│ │ ├── 180.png
│ │ ├── 196.png
│ │ ├── 20.png
│ │ ├── 216.png
│ │ ├── 256.png
│ │ ├── 29.png
│ │ ├── 32.png
│ │ ├── 40.png
│ │ ├── 48.png
│ │ ├── 50.png
│ │ ├── 512.png
│ │ ├── 55.png
│ │ ├── 57.png
│ │ ├── 58.png
│ │ ├── 60.png
│ │ ├── 64.png
│ │ ├── 72.png
│ │ ├── 76.png
│ │ ├── 80.png
│ │ ├── 87.png
│ │ ├── 88.png
│ │ └── Contents.json
│ ├── Contents.json
│ └── LaunchImage.imageset
│ │ ├── Contents.json
│ │ ├── LaunchImage@1x.png
│ │ ├── LaunchImage@2x.png
│ │ ├── LaunchImage@3x.png
│ │ └── README.md
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── Info.plist
│ └── Runner-Bridging-Header.h
├── l10n.yaml
├── lib
├── app
│ ├── app.dart
│ └── view
│ │ └── app.dart
├── bootstrap.dart
├── firebase_options.dart
├── l10n
│ ├── arb
│ │ ├── app_en.arb
│ │ └── app_es.arb
│ └── l10n.dart
├── main.dart
├── main_development.dart
├── main_production.dart
├── main_profile.dart
├── main_staging.dart
├── puzzle
│ ├── bloc
│ │ ├── puzzle_bloc.dart
│ │ ├── puzzle_event.dart
│ │ └── puzzle_state.dart
│ ├── puzzle.dart
│ ├── view
│ │ ├── puzzle_page.dart
│ │ ├── puzzle_view.dart
│ │ ├── puzzle_z_finish_view.dart
│ │ ├── puzzle_z_setup_view.dart
│ │ └── view.dart
│ └── widgets
│ │ ├── fireworks.dart
│ │ ├── perspective_segmented_control.dart
│ │ ├── puzzle_timer.dart
│ │ ├── scoreboard.dart
│ │ ├── timer_handler.dart
│ │ ├── tutorial_button.dart
│ │ ├── widgets.dart
│ │ ├── ztext
│ │ ├── zgame_title.dart
│ │ ├── zplay_text.dart
│ │ ├── zshare_text.dart
│ │ ├── ztext.dart
│ │ └── zwon_text.dart
│ │ └── zwidgets
│ │ ├── zarrow.dart
│ │ ├── zclouds.dart
│ │ ├── zpuzzle_timer.dart
│ │ ├── zscore_board.dart
│ │ └── zwidgets.dart
├── timer
│ ├── bloc
│ │ ├── timer_bloc.dart
│ │ ├── timer_event.dart
│ │ └── timer_state.dart
│ ├── model
│ │ └── ticker.dart
│ └── timer.dart
└── vehicle
│ ├── bloc
│ ├── vehicle_bloc.dart
│ ├── vehicle_event.dart
│ └── vehicle_state.dart
│ ├── vehicle.dart
│ └── widgets
│ ├── vehicle_content.dart
│ ├── vehicle_hit_box.dart
│ ├── vehicle_view.dart
│ └── widgets.dart
├── linux
├── .gitignore
├── CMakeLists.txt
├── flutter
│ ├── CMakeLists.txt
│ ├── generated_plugin_registrant.cc
│ ├── generated_plugin_registrant.h
│ └── generated_plugins.cmake
├── main.cc
├── my_application.cc
└── my_application.h
├── macos
├── .gitignore
├── Flutter
│ ├── Flutter-Debug.xcconfig
│ ├── Flutter-Release.xcconfig
│ └── GeneratedPluginRegistrant.swift
├── Podfile
├── Runner.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── Runner.xcscheme
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
└── Runner
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ └── AppIcon.appiconset
│ │ ├── Contents.json
│ │ ├── app_icon_1024.png
│ │ ├── app_icon_128.png
│ │ ├── app_icon_16.png
│ │ ├── app_icon_256.png
│ │ ├── app_icon_32.png
│ │ ├── app_icon_512.png
│ │ └── app_icon_64.png
│ ├── Base.lproj
│ └── MainMenu.xib
│ ├── Configs
│ ├── AppInfo.xcconfig
│ ├── Debug.xcconfig
│ ├── Release.xcconfig
│ └── Warnings.xcconfig
│ ├── DebugProfile.entitlements
│ ├── Info.plist
│ ├── MainFlutterWindow.swift
│ └── Release.entitlements
├── packages
├── fireworks
│ ├── .gitignore
│ ├── .metadata
│ ├── LICENSE
│ ├── analysis_options.yaml
│ ├── lib
│ │ ├── fireworks.dart
│ │ └── src
│ │ │ ├── foundation
│ │ │ ├── controller.dart
│ │ │ ├── object.dart
│ │ │ ├── particle.dart
│ │ │ └── rocket.dart
│ │ │ ├── rendering
│ │ │ └── fireworks.dart
│ │ │ └── widgets
│ │ │ └── fireworks.dart
│ └── pubspec.yaml
├── puzzle_models
│ ├── .gitignore
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── lib
│ │ ├── puzzle_models.dart
│ │ └── src
│ │ │ └── models
│ │ │ ├── driving_boundary.dart
│ │ │ ├── models.dart
│ │ │ ├── position.dart
│ │ │ ├── position.g.dart
│ │ │ ├── puzzle_difficulty.dart
│ │ │ ├── rush_puzzle.dart
│ │ │ ├── rush_puzzle.g.dart
│ │ │ ├── steering.dart
│ │ │ ├── vehicle.dart
│ │ │ ├── vehicle.g.dart
│ │ │ └── vehicle_type.dart
│ ├── pubspec.yaml
│ └── test
│ │ └── src
│ │ └── models
│ │ ├── driving_boundary_test.dart
│ │ ├── position_test.dart
│ │ ├── rush_puzzle_test.dart
│ │ ├── steering_test.dart
│ │ ├── vehicle_test.dart
│ │ └── vehicle_type_test.dart
├── puzzles_repository
│ ├── .gitignore
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── assets
│ │ ├── 1.json
│ │ ├── 10.json
│ │ ├── 11.json
│ │ ├── 12.json
│ │ ├── 13.json
│ │ ├── 14.json
│ │ ├── 15.json
│ │ ├── 16.json
│ │ ├── 17.json
│ │ ├── 18.json
│ │ ├── 19.json
│ │ ├── 2.json
│ │ ├── 20.json
│ │ ├── 21.json
│ │ ├── 22.json
│ │ ├── 23.json
│ │ ├── 24.json
│ │ ├── 25.json
│ │ ├── 26.json
│ │ ├── 27.json
│ │ ├── 28.json
│ │ ├── 29.json
│ │ ├── 3.json
│ │ ├── 30.json
│ │ ├── 31.json
│ │ ├── 32.json
│ │ ├── 33.json
│ │ ├── 34.json
│ │ ├── 35.json
│ │ ├── 36.json
│ │ ├── 37.json
│ │ ├── 38.json
│ │ ├── 39.json
│ │ ├── 4.json
│ │ ├── 40.json
│ │ ├── 5.json
│ │ ├── 6.json
│ │ ├── 7.json
│ │ ├── 8.json
│ │ ├── 9.json
│ │ └── base.json
│ ├── lib
│ │ ├── puzzles_repository.dart
│ │ └── src
│ │ │ └── puzzles_repository.dart
│ ├── pubspec.yaml
│ ├── test
│ │ └── src
│ │ │ └── puzzles_repository_test.dart
│ └── tool
│ │ └── verify.dart
├── z_cubic_text
│ ├── .gitignore
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── example
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── android
│ │ │ ├── .gitignore
│ │ │ ├── app
│ │ │ │ ├── build.gradle
│ │ │ │ └── src
│ │ │ │ │ ├── debug
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ │ ├── main
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── kotlin
│ │ │ │ │ │ └── com
│ │ │ │ │ │ │ └── example
│ │ │ │ │ │ │ └── example
│ │ │ │ │ │ │ └── MainActivity.kt
│ │ │ │ │ └── res
│ │ │ │ │ │ ├── drawable-v21
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ ├── drawable
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ │ ├── values-night
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ │ └── values
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ └── profile
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ ├── build.gradle
│ │ │ ├── gradle.properties
│ │ │ ├── gradle
│ │ │ │ └── wrapper
│ │ │ │ │ └── gradle-wrapper.properties
│ │ │ └── settings.gradle
│ │ ├── ios
│ │ │ ├── .gitignore
│ │ │ ├── Flutter
│ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ └── Release.xcconfig
│ │ │ ├── Runner.xcodeproj
│ │ │ │ ├── project.pbxproj
│ │ │ │ ├── project.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ └── xcshareddata
│ │ │ │ │ └── xcschemes
│ │ │ │ │ └── Runner.xcscheme
│ │ │ ├── Runner.xcworkspace
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata
│ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ └── Runner
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets
│ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ │ └── LaunchImage.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── LaunchImage.png
│ │ │ │ │ ├── LaunchImage@2x.png
│ │ │ │ │ ├── LaunchImage@3x.png
│ │ │ │ │ └── README.md
│ │ │ │ ├── Base.lproj
│ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ └── Main.storyboard
│ │ │ │ ├── Info.plist
│ │ │ │ └── Runner-Bridging-Header.h
│ │ ├── lib
│ │ │ ├── example_strings.dart
│ │ │ └── main.dart
│ │ ├── pubspec.yaml
│ │ ├── test
│ │ │ └── widget_test.dart
│ │ ├── web
│ │ │ ├── favicon.png
│ │ │ ├── icons
│ │ │ │ ├── Icon-192.png
│ │ │ │ ├── Icon-512.png
│ │ │ │ ├── Icon-maskable-192.png
│ │ │ │ └── Icon-maskable-512.png
│ │ │ ├── index.html
│ │ │ └── manifest.json
│ │ └── windows
│ │ │ ├── .gitignore
│ │ │ ├── CMakeLists.txt
│ │ │ ├── flutter
│ │ │ ├── CMakeLists.txt
│ │ │ ├── generated_plugin_registrant.cc
│ │ │ ├── generated_plugin_registrant.h
│ │ │ └── generated_plugins.cmake
│ │ │ └── runner
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Runner.rc
│ │ │ ├── flutter_window.cpp
│ │ │ ├── flutter_window.h
│ │ │ ├── main.cpp
│ │ │ ├── resource.h
│ │ │ ├── resources
│ │ │ └── app_icon.ico
│ │ │ ├── runner.exe.manifest
│ │ │ ├── utils.cpp
│ │ │ ├── utils.h
│ │ │ ├── win32_window.cpp
│ │ │ └── win32_window.h
│ ├── lib
│ │ ├── src
│ │ │ ├── shapes
│ │ │ │ ├── shapes.dart
│ │ │ │ ├── z_cube.dart
│ │ │ │ ├── z_l_shape.dart
│ │ │ │ ├── z_slab.dart
│ │ │ │ └── z_text_shape.dart
│ │ │ ├── z_alphabet_data.dart
│ │ │ ├── z_char.dart
│ │ │ ├── z_cubic_text.dart
│ │ │ └── z_cubic_text_style.dart
│ │ └── z_cubic_text.dart
│ └── pubspec.yaml
├── zclouds
│ ├── .gitignore
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── lib
│ │ ├── src
│ │ │ ├── zcloud.dart
│ │ │ ├── zcloud_style.dart
│ │ │ ├── zcloud_type.dart
│ │ │ └── zcumulus.dart
│ │ └── zclouds.dart
│ ├── pubspec.yaml
│ └── test
│ │ └── src
│ │ └── zcloud_test.dart
├── zcomponents
│ ├── .gitignore
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── lib
│ │ ├── src
│ │ │ ├── rect
│ │ │ │ ├── bounding_box.dart
│ │ │ │ ├── game_layout.dart
│ │ │ │ └── rect.dart
│ │ │ ├── utils
│ │ │ │ ├── matrix_from_transformation.dart
│ │ │ │ ├── utils.dart
│ │ │ │ ├── zposition_tween.dart
│ │ │ │ └── zvector_tween.dart
│ │ │ └── widgets
│ │ │ │ ├── debug_game.dart
│ │ │ │ ├── widgets.dart
│ │ │ │ ├── zboard.dart
│ │ │ │ ├── zbounding_box.dart
│ │ │ │ ├── zdebug_bounding_box.dart
│ │ │ │ ├── zgame.dart
│ │ │ │ ├── zgame_theme.dart
│ │ │ │ ├── zhit_box.dart
│ │ │ │ ├── zinteraction.dart
│ │ │ │ ├── zposition_tracker.dart
│ │ │ │ └── ztile.dart
│ │ └── zcomponents.dart
│ ├── pubspec.yaml
│ └── test
│ │ └── src
│ │ ├── rect
│ │ ├── bounding_box_test.dart
│ │ └── game_layout_test.dart
│ │ └── widgets
│ │ └── debug_game_test.dart
└── zvehicles
│ ├── .gitignore
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── example
│ ├── .gitignore
│ ├── .metadata
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── android
│ │ ├── .gitignore
│ │ ├── app
│ │ │ ├── build.gradle
│ │ │ └── src
│ │ │ │ ├── debug
│ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── kotlin
│ │ │ │ │ └── com
│ │ │ │ │ │ └── example
│ │ │ │ │ │ └── example
│ │ │ │ │ │ └── MainActivity.kt
│ │ │ │ └── res
│ │ │ │ │ ├── drawable-v21
│ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── drawable
│ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ ├── values-night
│ │ │ │ │ └── styles.xml
│ │ │ │ │ └── values
│ │ │ │ │ └── styles.xml
│ │ │ │ └── profile
│ │ │ │ └── AndroidManifest.xml
│ │ ├── build.gradle
│ │ ├── gradle.properties
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ │ └── gradle-wrapper.properties
│ │ └── settings.gradle
│ ├── ios
│ │ ├── .gitignore
│ │ ├── Flutter
│ │ │ ├── AppFrameworkInfo.plist
│ │ │ ├── Debug.xcconfig
│ │ │ └── Release.xcconfig
│ │ ├── Runner.xcodeproj
│ │ │ ├── project.pbxproj
│ │ │ ├── project.xcworkspace
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata
│ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ └── xcshareddata
│ │ │ │ └── xcschemes
│ │ │ │ └── Runner.xcscheme
│ │ ├── Runner.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ └── WorkspaceSettings.xcsettings
│ │ └── Runner
│ │ │ ├── AppDelegate.swift
│ │ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ │ ├── Icon-App-20x20@1x.png
│ │ │ │ ├── Icon-App-20x20@2x.png
│ │ │ │ ├── Icon-App-20x20@3x.png
│ │ │ │ ├── Icon-App-29x29@1x.png
│ │ │ │ ├── Icon-App-29x29@2x.png
│ │ │ │ ├── Icon-App-29x29@3x.png
│ │ │ │ ├── Icon-App-40x40@1x.png
│ │ │ │ ├── Icon-App-40x40@2x.png
│ │ │ │ ├── Icon-App-40x40@3x.png
│ │ │ │ ├── Icon-App-60x60@2x.png
│ │ │ │ ├── Icon-App-60x60@3x.png
│ │ │ │ ├── Icon-App-76x76@1x.png
│ │ │ │ ├── Icon-App-76x76@2x.png
│ │ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ │ └── LaunchImage.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── LaunchImage.png
│ │ │ │ ├── LaunchImage@2x.png
│ │ │ │ ├── LaunchImage@3x.png
│ │ │ │ └── README.md
│ │ │ ├── Base.lproj
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── Main.storyboard
│ │ │ ├── Info.plist
│ │ │ └── Runner-Bridging-Header.h
│ ├── lib
│ │ ├── main.dart
│ │ └── z_axis.dart
│ ├── pubspec.yaml
│ ├── test
│ │ └── widget_test.dart
│ ├── web
│ │ ├── favicon.png
│ │ ├── icons
│ │ │ ├── Icon-192.png
│ │ │ ├── Icon-512.png
│ │ │ ├── Icon-maskable-192.png
│ │ │ └── Icon-maskable-512.png
│ │ ├── index.html
│ │ └── manifest.json
│ └── windows
│ │ ├── .gitignore
│ │ ├── CMakeLists.txt
│ │ ├── flutter
│ │ ├── CMakeLists.txt
│ │ ├── generated_plugin_registrant.cc
│ │ ├── generated_plugin_registrant.h
│ │ └── generated_plugins.cmake
│ │ └── runner
│ │ ├── CMakeLists.txt
│ │ ├── Runner.rc
│ │ ├── flutter_window.cpp
│ │ ├── flutter_window.h
│ │ ├── main.cpp
│ │ ├── resource.h
│ │ ├── resources
│ │ └── app_icon.ico
│ │ ├── runner.exe.manifest
│ │ ├── utils.cpp
│ │ ├── utils.h
│ │ ├── win32_window.cpp
│ │ └── win32_window.h
│ ├── lib
│ ├── src
│ │ ├── helpers
│ │ │ ├── helpers.dart
│ │ │ └── zrect_net.dart
│ │ ├── zambulance
│ │ │ ├── zambulance.dart
│ │ │ ├── zambulance_body.dart
│ │ │ ├── zambulance_cabin.dart
│ │ │ └── zambulance_theme.dart
│ │ ├── zbus
│ │ │ ├── zbus.dart
│ │ │ ├── zbus_body.dart
│ │ │ └── zbus_theme.dart
│ │ ├── zcar
│ │ │ ├── zcar.dart
│ │ │ ├── zcar_body.dart
│ │ │ └── zcar_theme.dart
│ │ ├── ztruck
│ │ │ ├── ztruck.dart
│ │ │ ├── ztruck_body.dart
│ │ │ └── ztruck_theme.dart
│ │ ├── zvehicle.dart
│ │ ├── zvehicle_side.dart
│ │ └── zvehicles_theme_data.dart
│ └── zvehicles.dart
│ └── pubspec.yaml
├── pubspec.lock
├── pubspec.yaml
├── test
├── helpers
│ ├── helpers.dart
│ └── pump_app.dart
├── puzzle
│ └── bloc
│ │ ├── puzzle_bloc_test.dart
│ │ ├── puzzle_event_test.dart
│ │ └── puzzle_state_test.dart
└── timer
│ └── bloc
│ ├── timer_bloc_test.dart
│ ├── timer_event_test.dart
│ └── timer_state_test.dart
├── web
├── favicon.png
├── icons
│ ├── Icon-192.png
│ ├── Icon-512.png
│ ├── favicon.png
│ └── social.png
├── index.html
└── manifest.json
└── windows
├── .gitignore
├── CMakeLists.txt
├── flutter
├── CMakeLists.txt
├── generated_plugin_registrant.cc
├── generated_plugin_registrant.h
└── generated_plugins.cmake
├── logo.png
└── runner
├── CMakeLists.txt
├── Runner.rc
├── flutter_window.cpp
├── flutter_window.h
├── main.cpp
├── resource.h
├── resources
└── app_icon.ico
├── runner.exe.manifest
├── utils.cpp
├── utils.h
├── win32_window.cpp
└── win32_window.h
/.firebaserc:
--------------------------------------------------------------------------------
1 | {
2 | "projects": {
3 | "default": "flutter-rush"
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 |
8 |
9 | ## Status
10 |
11 | **READY/IN DEVELOPMENT/HOLD**
12 |
13 | ## Breaking Changes
14 |
15 | YES | NO
16 |
17 | ## Description
18 |
19 |
20 |
21 | ## Type of Change
22 |
23 |
24 |
25 | - [ ] ✨ New feature (non-breaking change which adds functionality)
26 | - [ ] 🛠️ Bug fix (non-breaking change which fixes an issue)
27 | - [ ] ❌ Breaking change (fix or feature that would cause existing functionality to change)
28 | - [ ] 🧹 Code refactor
29 | - [ ] ✅ Build configuration change
30 | - [ ] 📝 Documentation
31 | - [ ] 🗑️ Chore
--------------------------------------------------------------------------------
/.github/workflows/firebase-hosting-merge.yml:
--------------------------------------------------------------------------------
1 | # This file was auto-generated by the Firebase CLI
2 | # https://github.com/firebase/firebase-tools
3 |
4 | name: Deploy to Firebase Hosting on merge
5 | 'on':
6 | push:
7 | tags:
8 | - '**'
9 | branches:
10 | - main
11 | jobs:
12 | build_and_deploy:
13 | runs-on: ubuntu-latest
14 | steps:
15 | - uses: actions/checkout@v2
16 | - uses: subosito/flutter-action@v2
17 | with:
18 | flutter-version: '2.10.3'
19 | channel: 'stable'
20 | - run: flutter build web --web-renderer html
21 | - uses: FirebaseExtended/action-hosting-deploy@v0
22 | with:
23 | repoToken: '${{ secrets.GITHUB_TOKEN }}'
24 | firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_FLUTTER_RUSH }}'
25 | channelId: live
26 | projectId: flutter-rush
27 |
--------------------------------------------------------------------------------
/.github/workflows/firebase-hosting-pull-request.yml:
--------------------------------------------------------------------------------
1 | # This file was auto-generated by the Firebase CLI
2 | # https://github.com/firebase/firebase-tools
3 |
4 | name: Deploy to Firebase Hosting on PR
5 | 'on': pull_request
6 | jobs:
7 | build_and_preview:
8 | if: '${{ github.event.pull_request.head.repo.full_name == github.repository }}'
9 | runs-on: ubuntu-latest
10 | steps:
11 | - uses: actions/checkout@v2
12 | - uses: subosito/flutter-action@v2
13 | with:
14 | flutter-version: '2.10.3'
15 | channel: 'stable'
16 | - run: flutter build web --web-renderer html
17 | - uses: FirebaseExtended/action-hosting-deploy@v0
18 | with:
19 | repoToken: '${{ secrets.GITHUB_TOKEN }}'
20 | firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_FLUTTER_RUSH }}'
21 | projectId: flutter-rush
22 |
--------------------------------------------------------------------------------
/.github/workflows/github-auto-tag.yml:
--------------------------------------------------------------------------------
1 | name: Create Tag
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 |
8 | jobs:
9 | build:
10 | runs-on: ubuntu-latest
11 | steps:
12 | - uses: actions/checkout@v2
13 | - name: Create tag
14 | id: autotag
15 | uses: jacopocarlini/action-autotag@2.0.4
16 | with:
17 | GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
18 | tag_prefix: "v"
19 | - name: Create Release
20 | id: create_release
21 | if: ${{ steps.autotag.outputs.tagname != ''}}
22 | uses: actions/create-release@v1
23 | env:
24 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
25 | with:
26 | tag_name: ${{ steps.autotag.outputs.tagname }}
27 | release_name: Rush Puzzle ${{ steps.autotag.outputs.tagname }}
28 | draft: false
29 | prerelease: false
--------------------------------------------------------------------------------
/.idea/runConfigurations/main_dart.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.metadata:
--------------------------------------------------------------------------------
1 | # This file tracks properties of this Flutter project.
2 | # Used by Flutter tool to assess capabilities and perform upgrades etc.
3 | #
4 | # This file should be version controlled and should not be manually edited.
5 |
6 | version:
7 | revision: cf4400006550b70f28e4b4af815151d1e74846c6
8 | channel: stable
9 |
10 | project_type: app
11 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 Very Good Ventures
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/analysis_options.yaml:
--------------------------------------------------------------------------------
1 | include: package:very_good_analysis/analysis_options.2.4.0.yaml
2 | linter:
3 | rules:
4 | public_member_api_docs: false
5 |
--------------------------------------------------------------------------------
/android/.gitignore:
--------------------------------------------------------------------------------
1 | gradle-wrapper.jar
2 | /.gradle
3 | /captures/
4 | /gradlew
5 | /gradlew.bat
6 | /local.properties
7 | GeneratedPluginRegistrant.java
8 |
9 | # Remember to never publicly share your keystore.
10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
11 | key.properties
12 | **/*.keystore
13 | **/*.jks
14 |
--------------------------------------------------------------------------------
/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/app/src/development/ic_launcher-playstore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/development/ic_launcher-playstore.png
--------------------------------------------------------------------------------
/android/app/src/development/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/android/app/src/development/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/android/app/src/development/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/development/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/development/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/development/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/development/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/development/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/development/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/development/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/development/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/development/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/development/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/development/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/development/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/development/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/development/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/development/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/development/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/development/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/development/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/development/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/development/res/values/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFFFFF
4 |
--------------------------------------------------------------------------------
/android/app/src/main/ic_launcher-playstore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/main/ic_launcher-playstore.png
--------------------------------------------------------------------------------
/android/app/src/main/kotlin/com/example/verygoodcore/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package app.flutter.rushpuzzle
2 |
3 | import io.flutter.embedding.android.FlutterActivity
4 |
5 | class MainActivity: FlutterActivity() {
6 | }
7 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/values-night/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 |
19 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFFFFF
4 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 |
19 |
--------------------------------------------------------------------------------
/android/app/src/profile/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/app/src/staging/ic_launcher-playstore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/staging/ic_launcher-playstore.png
--------------------------------------------------------------------------------
/android/app/src/staging/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/android/app/src/staging/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/android/app/src/staging/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/staging/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/staging/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/staging/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/staging/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/staging/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/staging/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/staging/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/staging/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/android/app/src/staging/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/staging/res/values/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFFFFF
4 |
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | ext.kotlin_version = '1.6.10'
3 | repositories {
4 | google()
5 | mavenCentral()
6 | }
7 |
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:4.1.0'
10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
11 | }
12 | }
13 |
14 | allprojects {
15 | repositories {
16 | google()
17 | mavenCentral()
18 | }
19 | }
20 |
21 | rootProject.buildDir = '../build'
22 | subprojects {
23 | project.buildDir = "${rootProject.buildDir}/${project.name}"
24 | project.evaluationDependsOn(':app')
25 | }
26 |
27 | task clean(type: Delete) {
28 | delete rootProject.buildDir
29 | }
30 |
--------------------------------------------------------------------------------
/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Jun 23 08:50:38 CEST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
7 |
--------------------------------------------------------------------------------
/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
4 | def properties = new Properties()
5 |
6 | assert localPropertiesFile.exists()
7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
8 |
9 | def flutterSdkPath = properties.getProperty("flutter.sdk")
10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
12 |
--------------------------------------------------------------------------------
/assets/shared/bus_rotation--example.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/assets/shared/bus_rotation--example.gif
--------------------------------------------------------------------------------
/assets/shared/z_cubic_text--example.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/assets/shared/z_cubic_text--example.gif
--------------------------------------------------------------------------------
/firebase.json:
--------------------------------------------------------------------------------
1 | {
2 | "hosting": {
3 | "public": "build/web",
4 | "ignore": [
5 | "firebase.json",
6 | "**/.*",
7 | "**/node_modules/**"
8 | ],
9 | "rewrites": [
10 | {
11 | "source": "**",
12 | "destination": "/index.html"
13 | }
14 | ]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/ios/.gitignore:
--------------------------------------------------------------------------------
1 | *.mode1v3
2 | *.mode2v3
3 | *.moved-aside
4 | *.pbxuser
5 | *.perspectivev3
6 | **/*sync/
7 | .sconsign.dblite
8 | .tags*
9 | **/.vagrant/
10 | **/DerivedData/
11 | Icon?
12 | **/Pods/
13 | **/.symlinks/
14 | profile
15 | xcuserdata
16 | **/.generated/
17 | Flutter/App.framework
18 | Flutter/Flutter.framework
19 | Flutter/Flutter.podspec
20 | Flutter/Generated.xcconfig
21 | Flutter/app.flx
22 | Flutter/app.zip
23 | Flutter/flutter_assets/
24 | Flutter/flutter_export_environment.sh
25 | ServiceDefinitions.json
26 | Runner/GeneratedPluginRegistrant.*
27 |
28 | # Exceptions to above rules.
29 | !default.mode1v3
30 | !default.mode2v3
31 | !default.pbxuser
32 | !default.perspectivev3
33 |
--------------------------------------------------------------------------------
/ios/Flutter/AppFrameworkInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | App
9 | CFBundleIdentifier
10 | io.flutter.flutter.app
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | App
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | MinimumOSVersion
24 | 9.0
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Flutter
3 |
4 | @UIApplicationMain
5 | @objc class AppDelegate: FlutterAppDelegate {
6 | override func application(
7 | _ application: UIApplication,
8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
9 | ) -> Bool {
10 | GeneratedPluginRegistrant.register(with: self)
11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions)
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/100.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/1024.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/114.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/114.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/120.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/128.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/144.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/152.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/16.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/167.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/167.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/172.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/172.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/180.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/196.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/196.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/20.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/216.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/216.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/256.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/29.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/32.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/40.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/48.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/50.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/512.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/55.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/55.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/57.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/58.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/60.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/64.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/72.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/76.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/80.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/87.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/88.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-dev.appiconset/88.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/100.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/1024.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/114.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/114.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/120.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/128.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/144.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/152.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/16.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/167.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/167.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/172.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/172.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/180.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/196.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/196.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/20.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/216.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/216.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/256.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/29.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/32.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/40.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/48.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/50.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/512.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/55.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/55.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/57.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/58.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/60.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/64.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/72.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/76.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/80.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/87.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/88.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon-stg.appiconset/88.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/100.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/114.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/114.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/120.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/128.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/144.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/152.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/16.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/167.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/167.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/172.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/172.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/196.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/196.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/20.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/216.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/216.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/256.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/29.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/32.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/40.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/48.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/50.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/512.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/55.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/55.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/57.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/60.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/64.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/72.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/76.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/80.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/87.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/88.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/AppIcon.appiconset/88.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "LaunchImage@1x.png",
5 | "idiom" : "universal",
6 | "scale" : "1x"
7 | },
8 | {
9 | "filename" : "LaunchImage@2x.png",
10 | "idiom" : "universal",
11 | "scale" : "2x"
12 | },
13 | {
14 | "filename" : "LaunchImage@3x.png",
15 | "idiom" : "universal",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "author" : "xcode",
21 | "version" : 1
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alestiago/flutter_rush_puzzle/628d176c5c88c95eca417a30f145161e7926db98/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md:
--------------------------------------------------------------------------------
1 | # Launch Screen Assets
2 |
3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4 |
5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
--------------------------------------------------------------------------------
/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
2 |
--------------------------------------------------------------------------------
/l10n.yaml:
--------------------------------------------------------------------------------
1 | arb-dir: lib/l10n/arb
2 | template-arb-file: app_en.arb
3 | output-localization-file: app_localizations.dart
4 | nullable-getter: false
5 |
--------------------------------------------------------------------------------
/lib/app/app.dart:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2021, Very Good Ventures
2 | // https://verygood.ventures
3 | //
4 | // Use of this source code is governed by an MIT-style
5 | // license that can be found in the LICENSE file or at
6 | // https://opensource.org/licenses/MIT.
7 |
8 | export 'view/app.dart';
9 |
--------------------------------------------------------------------------------
/lib/l10n/l10n.dart:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2021, Very Good Ventures
2 | // https://verygood.ventures
3 | //
4 | // Use of this source code is governed by an MIT-style
5 | // license that can be found in the LICENSE file or at
6 | // https://opensource.org/licenses/MIT.
7 |
8 | import 'package:flutter/widgets.dart';
9 | import 'package:flutter_gen/gen_l10n/app_localizations.dart';
10 |
11 | export 'package:flutter_gen/gen_l10n/app_localizations.dart';
12 |
13 | extension AppLocalizationsX on BuildContext {
14 | AppLocalizations get l10n => AppLocalizations.of(this);
15 | }
16 |
--------------------------------------------------------------------------------
/lib/main.dart:
--------------------------------------------------------------------------------
1 | import 'package:rush_hour_puzzle/bootstrap.dart';
2 |
3 | void main() {
4 | bootstrap();
5 | }
6 |
--------------------------------------------------------------------------------
/lib/main_development.dart:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2021, Very Good Ventures
2 | // https://verygood.ventures
3 | //
4 | // Use of this source code is governed by an MIT-style
5 | // license that can be found in the LICENSE file or at
6 | // https://opensource.org/licenses/MIT.
7 |
8 | import 'package:rush_hour_puzzle/bootstrap.dart';
9 |
10 | void main() {
11 | bootstrap();
12 | }
13 |
--------------------------------------------------------------------------------
/lib/main_production.dart:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2021, Very Good Ventures
2 | // https://verygood.ventures
3 | //
4 | // Use of this source code is governed by an MIT-style
5 | // license that can be found in the LICENSE file or at
6 | // https://opensource.org/licenses/MIT.
7 |
8 | import 'package:rush_hour_puzzle/bootstrap.dart';
9 |
10 | void main() {
11 | bootstrap();
12 | }
13 |
--------------------------------------------------------------------------------
/lib/main_profile.dart:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2021, Very Good Ventures
2 | // https://verygood.ventures
3 | //
4 | // Use of this source code is governed by an MIT-style
5 | // license that can be found in the LICENSE file or at
6 | // https://opensource.org/licenses/MIT.
7 |
8 | import 'package:rush_hour_puzzle/bootstrap.dart';
9 |
10 | void main() {
11 | bootstrap();
12 | }
13 |
--------------------------------------------------------------------------------
/lib/main_staging.dart:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2021, Very Good Ventures
2 | // https://verygood.ventures
3 | //
4 | // Use of this source code is governed by an MIT-style
5 | // license that can be found in the LICENSE file or at
6 | // https://opensource.org/licenses/MIT.
7 |
8 | import 'package:rush_hour_puzzle/bootstrap.dart';
9 |
10 | void main() {
11 | bootstrap();
12 | }
13 |
--------------------------------------------------------------------------------
/lib/puzzle/puzzle.dart:
--------------------------------------------------------------------------------
1 | export 'bloc/puzzle_bloc.dart';
2 | export 'view/view.dart';
3 | export 'widgets/widgets.dart';
4 |
--------------------------------------------------------------------------------
/lib/puzzle/view/view.dart:
--------------------------------------------------------------------------------
1 | export 'puzzle_page.dart';
2 | export 'puzzle_view.dart';
3 | export 'puzzle_z_finish_view.dart';
4 | export 'puzzle_z_setup_view.dart';
5 |
--------------------------------------------------------------------------------
/lib/puzzle/widgets/fireworks.dart:
--------------------------------------------------------------------------------
1 | import 'package:fireworks/fireworks.dart' as fireworks;
2 | import 'package:flutter/cupertino.dart';
3 | import 'package:flutter/material.dart';
4 |
5 | class Fireworks extends StatefulWidget {
6 | const Fireworks({Key? key}) : super(key: key);
7 |
8 | @override
9 | State createState() => _FireworksState();
10 | }
11 |
12 | class _FireworksState extends State
13 | with SingleTickerProviderStateMixin {
14 | late final controller = fireworks.FireworkController(vsync: this);
15 |
16 | @override
17 | void initState() {
18 | controller
19 | ..start()
20 | ..autoLaunchDuration = const Duration(milliseconds: 800);
21 | super.initState();
22 | }
23 |
24 | @override
25 | void dispose() {
26 | controller.dispose();
27 | super.dispose();
28 | }
29 |
30 | @override
31 | Widget build(BuildContext context) {
32 | return RepaintBoundary(
33 | child: fireworks.Fireworks(
34 | controller: controller,
35 | ),
36 | );
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/lib/puzzle/widgets/puzzle_timer.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:flutter_bloc/flutter_bloc.dart';
3 | import 'package:rush_hour_puzzle/timer/timer.dart';
4 |
5 | class PuzzleTimerText extends StatelessWidget {
6 | const PuzzleTimerText({Key? key}) : super(key: key);
7 |
8 | @override
9 | Widget build(BuildContext context) {
10 | final secondsElapsed = context.select((TimerBloc bloc) {
11 | return bloc.state.secondsElapsed;
12 | });
13 | final timeElapsed = Duration(seconds: secondsElapsed);
14 |
15 | return Text(
16 | formatDuration(timeElapsed),
17 | );
18 | }
19 | }
20 |
21 | String formatDuration(Duration duration) {
22 | String twoDigits(int n) => n.toString().padLeft(2, '0');
23 | final twoDigitMinutes = twoDigits(duration.inMinutes.remainder(60));
24 | final twoDigitSeconds = twoDigits(duration.inSeconds.remainder(60));
25 | final hoursText =
26 | duration.inHours == 0 ? '' : '${twoDigits(duration.inHours)}:';
27 | return '$hoursText$twoDigitMinutes:$twoDigitSeconds';
28 | }
29 |
--------------------------------------------------------------------------------
/lib/puzzle/widgets/widgets.dart:
--------------------------------------------------------------------------------
1 | export 'fireworks.dart';
2 | export 'perspective_segmented_control.dart';
3 | export 'puzzle_timer.dart';
4 | export 'scoreboard.dart';
5 | export 'timer_handler.dart';
6 | export 'tutorial_button.dart';
7 | export 'ztext/ztext.dart';
8 | export 'zwidgets/zwidgets.dart';
9 |
--------------------------------------------------------------------------------
/lib/puzzle/widgets/ztext/zgame_title.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | import 'package:z_cubic_text/z_cubic_text.dart';
4 | import 'package:zcomponents/zcomponents.dart';
5 |
6 | class ZGameTitle extends StatelessWidget {
7 | const ZGameTitle({Key? key}) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | final style = ZCubicTextStyle(
12 | letterSpacing: 10,
13 | frontColor: Colors.grey[900],
14 | );
15 | return ZPositioned(
16 | translate: ZVector.only(
17 | x: -1,
18 | y: style.fontSize - layout.tileSize,
19 | z: layout.tileDepth,
20 | ),
21 | child: ZGroup(
22 | children: [
23 | ZCubicText('Rush', style: style),
24 | ZPositioned(
25 | translate: ZVector.only(
26 | y: style.fontSize * 4,
27 | ),
28 | child: ZCubicText('Puzzle', style: style),
29 | ),
30 | ],
31 | ),
32 | );
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/lib/puzzle/widgets/ztext/zplay_text.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | import 'package:z_cubic_text/z_cubic_text.dart';
4 | import 'package:zcomponents/zcomponents.dart';
5 |
6 |
7 | class ZPlayText extends StatelessWidget {
8 | const ZPlayText({Key? key}) : super(key: key);
9 |
10 | @override
11 | Widget build(BuildContext context) {
12 | final style = ZCubicTextStyle(
13 | letterSpacing: 10,
14 | color: Colors.yellow[700]!,
15 | frontColor: Colors.yellow[600],
16 | );
17 | return ZPositioned(
18 | translate: ZVector.only(
19 | x: -0.5,
20 | z: layout.tileDepth,
21 | ),
22 | child: ZGroup(
23 | children: [
24 | ZCubicText(
25 | 'Play',
26 | style: style,
27 | ),
28 | ],
29 | ),
30 | );
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/lib/puzzle/widgets/ztext/zshare_text.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | import 'package:z_cubic_text/z_cubic_text.dart';
4 | import 'package:zcomponents/zcomponents.dart';
5 |
6 | class ZShareText extends StatelessWidget {
7 | const ZShareText({Key? key}) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | final style = ZCubicTextStyle(
12 | letterSpacing: 6,
13 | fontSize: 6,
14 | color: Colors.yellow[700]!,
15 | frontColor: Colors.yellow[600],
16 | );
17 | return ZPositioned(
18 | translate: ZVector.only(
19 | x: -0.5,
20 | z: layout.tileDepth,
21 | ),
22 | child: ZGroup(
23 | children: [
24 | ZCubicText(
25 | '-SHARE-',
26 | style: style,
27 | ),
28 | ],
29 | ),
30 | );
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/lib/puzzle/widgets/ztext/ztext.dart:
--------------------------------------------------------------------------------
1 | export 'zgame_title.dart';
2 | export 'zplay_text.dart';
3 | export 'zshare_text.dart';
4 | export 'zwon_text.dart';
5 |
--------------------------------------------------------------------------------
/lib/puzzle/widgets/ztext/zwon_text.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | import 'package:z_cubic_text/z_cubic_text.dart';
4 | import 'package:zcomponents/zcomponents.dart';
5 |
6 | class ZWonText extends StatelessWidget {
7 | const ZWonText({Key? key}) : super(key: key);
8 |
9 | @override
10 | Widget build(BuildContext context) {
11 | final style = ZCubicTextStyle(
12 | letterSpacing: 10,
13 | frontColor: Colors.grey[900],
14 | );
15 | return ZPositioned(
16 | translate: ZVector.only(
17 | x: -1,
18 | y: style.fontSize - layout.tileSize,
19 | z: layout.tileDepth,
20 | ),
21 | child: ZGroup(
22 | children: [
23 | ZCubicText('YOU', style: style),
24 | ZPositioned(
25 | translate: ZVector.only(
26 | y: style.fontSize * 4,
27 | ),
28 | child: ZCubicText('Won!', style: style),
29 | ),
30 | ],
31 | ),
32 | );
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/lib/puzzle/widgets/zwidgets/zpuzzle_timer.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:flutter_bloc/flutter_bloc.dart';
3 | import 'package:rush_hour_puzzle/puzzle/puzzle.dart';
4 | import 'package:rush_hour_puzzle/timer/timer.dart';
5 | import 'package:z_cubic_text/z_cubic_text.dart';
6 |
7 | class ZPuzzleTimerText extends StatelessWidget {
8 | const ZPuzzleTimerText({Key? key}) : super(key: key);
9 |
10 | @override
11 | Widget build(BuildContext context) {
12 | final secondsElapsed = context.select((TimerBloc bloc) {
13 | return bloc.state.secondsElapsed;
14 | });
15 | final timeElapsed = Duration(seconds: secondsElapsed);
16 |
17 | return ZCubicText(
18 | 'Time: ${formatDuration(timeElapsed)}',
19 | style: ZCubicTextStyle(
20 | color: Colors.grey[900]!,
21 | frontColor: Colors.grey[800],
22 | fontSize: 4,
23 | ),
24 | );
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/lib/puzzle/widgets/zwidgets/zwidgets.dart:
--------------------------------------------------------------------------------
1 | export 'zclouds.dart';
2 | export 'zpuzzle_timer.dart';
3 | export 'zscore_board.dart';
4 |
--------------------------------------------------------------------------------
/lib/timer/bloc/timer_event.dart:
--------------------------------------------------------------------------------
1 | // ignore_for_file: public_member_api_docs
2 |
3 | part of 'timer_bloc.dart';
4 |
5 | abstract class TimerEvent extends Equatable {
6 | const TimerEvent();
7 |
8 | @override
9 | List