* Add `randomColor` to the `Color` extension
* Add flame rive package to monorepo (#1048)
Add flame rive package to monorepo
* Add random to PaintExtension
* Update examples/pubspec.yaml
Co-authored-by: Erick <erickzanardoo@gmail.com>
Co-authored-by: Renan <6718144+renancaraujo@users.noreply.github.com>
Co-authored-by: Erick <erickzanardoo@gmail.com>
* Simplified the usage of ShapeComponent
* Default constructor for _RandomCircle
* Use default constructor
* Forced Anchor.center on ShapeComponent
* Fix examples using SquareComponent
* Removed unnecesary import
* Renamed edgeLength to size
* Added FlameAnimationController class
* Added MainAnimationController class
* Update doc comments
* formatting
* rename MainAnimationController
* Added tests for StandardAnimationController
* Added more tests
* comment
* Added changelog note
* Export StandardAnimationController
* formatting
* Use a default for 'curve' parameter
* rename onsetDelay -> startDelay
* Added Transofm2DEffect
* Added EffectComponent
* Added .transform getter
* formatting
* Rename EffectComponent -> Effect
* Add documentation for the Effect class
* minor
* Added a test for Effect class
* Adding tests for removeOnFinish
* Adding tests for onStart and onFinish
* Also check the effect after reset
* Fix-up merge
* formatting
* added doc-comments
* changelog note
* Added test for transform2DEffect
* Adjusted comments
* Make PositionComponent._transform public
* change changelog
* Adding RotateEffect
* wip on rotate2 example
* Rename -> RotateEffect2
* export rotation effect
* Finish example for RotateEffect2
* formatting
* rename RotateEffect2 -> RotateEffect
* Changelog note
* Added test file
* flutter format
* Remove a print() call
* _lastProgress moved to Transform2DEffect class
* remove avoid_print for now
* Moved description
* Initialize paints during construction
* Added a random test
* flutter format
Co-authored-by: Lukas Klingsbo <lukas.klingsbo@gmail.com>
* Added FlameAnimationController class
* Added MainAnimationController class
* Update doc comments
* formatting
* rename MainAnimationController
* Added tests for StandardAnimationController
* Added more tests
* comment
* Added changelog note
* Export StandardAnimationController
* formatting
* Use a default for 'curve' parameter
* rename onsetDelay -> startDelay
* Added Transofm2DEffect
* Added EffectComponent
* Added .transform getter
* formatting
* Rename EffectComponent -> Effect
* Add documentation for the Effect class
* minor
* Added a test for Effect class
* Adding tests for removeOnFinish
* Adding tests for onStart and onFinish
* Also check the effect after reset
* Fix-up merge
* formatting
* added doc-comments
* changelog note
* Added test for transform2DEffect
* Adjusted comments
* Make PositionComponent._transform public
* change changelog
* Added SimpleEffectController
* Added DestroyEffect
* Changelog note
* Rename DestroyEffect -> RemoveEffect
* Added example for RemoveEffect
* flutter format
* Move description of the RemoveEffectExample game
* move the description again
* minor
* Game as a component
* Fix component stories
* Effects are now components
* Update effects docs
* Handle swap of parent
* Fix reAddChildren
* Wait for children to be added
* BaseComponent and PositionComponent to be non-abstract
* Simplify HasGameRef
* Revert so that onLoad can be null
* Fix example description
* Effects as components
* Remove gameRef from addChildren
* Fix hasGameRef
* Start migrating effects
* Updated comments of effect fields
* Fix comments
* Continue to fix sequence and combined effects
* Upgrade ordered_set
* Fix position_component_test
* BaseComponent -> Component
* Fix combined and sequence effects
* Await components to be added in tests
* Remove unnecessary game.update in tests
* Fix some tests related to composition
* BaseGame should be used in examples
* Fix CombinedEffect test
* Keyboard code to be based on Component
* Fix keyboard tests
* Fix analyze problems
* Fix sequence_effect
* Fix combined_effect_test
* Store peak state instead of end state
* Fix sequence_effect tests
* Update tutorial
* Fix tutorial 1
* Remove SimplePositionComponentEffect
* Remove unused test variable
* Update docs
* Removed onMount
* Remove onMount
* Add missing dartdoc
* Fix dart docs
* Add super.update where needed
* Move reAddChildren to component
* Reorganize method order in game widget
* preOffset -> initialDelay, postOffset -> peakDelay
* Introduce component.onParentChange
* Remove tests in wrong file
* Fix composed component test
* Add game lifecycle test
* Use BaseGame for mouse cursor test
* Oxygen should (?) not call super.update
* Use BaseGame in keyboard_test
* Fix onLoad to be properly cached
* Re-add unintentionally removed override
* Fix info for collision detection tests
* Add test for correct lifecycle on parent change
* Fix particles example
* Add component lifecycle diagram to the docs
* Add docs for the game lifecycle
* onRemove should be called when a game is removed from the widget
* Fix analyze errors
* prepare should be called from the component itself, not its parent
* Fix dartdoc
* onParentChange -> onMount
* onMount should have void as return type
* Simplify the loaderFuture in GameWidget
* Fix mock_canvas
* Fix rebase problem
* Remove asComponent
* Less complex _loaderFuture
* Add super.update to no_fcs parallax example
* Fix async tests
* Revert _loaderFuture
* Fix analyze issues
* await gameWithCollidables
* Keep epsilon small where it can be
* tappable methods should return bool
* Game lifecycle is now the same as for Component
* Remove mustCallSuper from component.update
* Make onLoadCache protected
* @internal on onLoadCache
* Cache/Memoize debugPaint and debugTextPaint
* Fix imports
* Fix comments
* Always call super.onLoad so that mixins can override it
* Add forgotten super.onLoad
* Bump coverage percentage
* HasCollidables should override update
* Fix Game comments
* Fix some dartdoc
* Apply suggestions from code review
Co-authored-by: Erick <erickzanardoo@gmail.com>
* Game + Loadable as mixins
* Update packages/flame/lib/src/game/game_widget/game_widget.dart
Co-authored-by: Luan Nico <luanpotter27@gmail.com>
* Update loadable docs
* Fix comments
* Move fps_counter
* Fix keyboard example
* Fix dartdoc
* Remove tutorials temporarily
* Fix game lowlevel graph
* Fix resize issue
Co-authored-by: Erick <erickzanardoo@gmail.com>
Co-authored-by: Luan Nico <luanpotter27@gmail.com>
* Viewport and combinedProjector now belong to Camera
* cleanup
* format
* fix analysis issues
* Property viewport removed from BaseGame
* Move camera & viewport into a separate directory
* added CameraComponent
* format
* .camera as computed property
* changelog note
* format
* format
* comment
* CameraComponent is no longer a Component
* Rename CameraComponent -> CameraCo
* format
* Rename CameraC -> CameraWrapper
* minor
* rename BaseGame._cameraComponent -> ._cameraWrapper
* minor fixes in response to reviewer suggestions
* Fix rendering of a ParallaxComponent
Co-authored-by: Lukas Klingsbo <lukas.klingsbo@gmail.com>
* Add keyboard with focus node implementation
* a
* format and make it stabel compatible
* Add mixin to game
* fixes
* add tests
* format
* docs
* more docs
* Update doc/keyboard-input.md
Co-authored-by: Erick <erickzanardoo@gmail.com>
* rename test
* Apply suggestions from code review
Co-authored-by: Luan Nico <luanpotter27@gmail.com>
* fix test
* Update tutorials/2_sprite_animations_gestures/README.md
Co-authored-by: Luan Nico <luanpotter27@gmail.com>
* docs
* Apply suggestions from code review
Co-authored-by: Jochum van der Ploeg <jochum@vdploeg.net>
* yo
Co-authored-by: Erick <erickzanardoo@gmail.com>
Co-authored-by: Luan Nico <luanpotter27@gmail.com>
Co-authored-by: Jochum van der Ploeg <jochum@vdploeg.net>
* Draft of PositionComponent.scale
* Use matrix transformations
* Update tests to take matrix transform into consideration
* Add tests for collision detection with scale
* Rename ScaleEffect to SizeEffect
* Use transform matrix to prepare canvas
* Fix scaledSizeCache
* Add changelog entries and docs
* Dartdoc on public access methods
* Update packages/flame/CHANGELOG.md
Co-authored-by: Jochum van der Ploeg <jochum@vdploeg.net>
* Move cache classes to own directory
Co-authored-by: Jochum van der Ploeg <jochum@vdploeg.net>
* Initial implementation of paint effects
* Improving HasPaint
* Adding color effect
* Adding exaustive tests for the HasPaint mixin
* Adding tests for the effects
* some adjustments
* Fixing some imports
* Adding docs
* Adding types to the has paint mixin
* Fixing constructor name for the opacity effect
* Apply suggestions from code review
Co-authored-by: Luan Nico <luanpotter27@gmail.com>
* Luan's suggestion
* Luan's comments
* formatting issues
* dartcodemetrics don't help me :(
* Adding assert
Co-authored-by: Luan Nico <luanpotter27@gmail.com>
* Fix parallax fullscreen bug when game is resized
* Test
Signed-off-by: Lukas Klingsbo <me@lukas.fyi>
* Fix imports
* Remove accidental line
* Re-add mustCallSuper on onGameResize
* Add
* Adding SpriteWidgetBuilder
* Adding SpriteButtonBuilder
* Add NineTileBoxBuilder
* a few adjustments on the docs
* Adding error and loading builders to the widgets
* Improving APIs for the widget review
Co-authored-by: Luan Nico <luanpotter27@gmail.com>
* Use matrix transformations in FixedResolutionViewport
* Update viewport tests
* Moved transformations to resize
* Use getters for scaledSize and resizeOffset
* Added a FixedResolutionViewport example
* Make game.size take zoom into consideration
* Fix formatting
* Fix formatting
* Apply suggestions from code review
Co-authored-by: Jochum van der Ploeg <jochum@vdploeg.net>
* Move _sizeBuffer
* Apply suggestions from code review
Co-authored-by: Jochum van der Ploeg <jochum@vdploeg.net>
* Update list from wolfenrains suggestion
* Fix formatting
* Update CHANGELOG.md
Co-authored-by: Jochum van der Ploeg <jochum@vdploeg.net>
* Non-fullscreen ParallaxComponent
* Updated examples with no size needed
* Formatting
* Add docs for fullscreen parallax
* Fix formatting
* Remove need of nullable size
* Add basic parallax sizing test
* Fix formatting
* Remove unused imports
* Info text for the parallax examples
* Possibility to change component priority
* Fix formatting
* Posibility to change priority
* Docs for priority change
* Priority example
* Add section explaining priority
* Update doc/game.md
Co-authored-by: Erick <erickzanardoo@gmail.com>
* Update examples/lib/stories/components/components.dart
Co-authored-by: Erick <erickzanardoo@gmail.com>
* No null priorities in the super call chain
* Possibility to wait for all children to be loaded
* Test for addChildren
* Introduce parent to Component
* Check whether parent is BaseComponent
Co-authored-by: Erick <erickzanardoo@gmail.com>
* Add onCollisionEnd for HitboxShape and Collidable
* Add tests for collision callbacks
* Detect multiple collsions with same collidable in test
* Remove unused import
* Break out duplicated code
* Fix formatting
* Use correct hash set
* Update examples/lib/stories/collision_detection/multiple_shapes.dart
Co-authored-by: Erick <erickzanardoo@gmail.com>
* Update examples/lib/stories/collision_detection/multiple_shapes.dart
Co-authored-by: Erick <erickzanardoo@gmail.com>
* Use hashValues instead of _combineHashCodes
* hashValues is order dependent so we need to sort the objects first
* Add section about onCollisionEnd
* Fix missed hashValues
* Use xor instead of hashValues
* Update examples/lib/stories/collision_detection/collision_detection.dart
Co-authored-by: Luan Nico <luanpotter27@gmail.com>
Co-authored-by: Erick <erickzanardoo@gmail.com>
Co-authored-by: Luan Nico <luanpotter27@gmail.com>