-
-
Notifications
You must be signed in to change notification settings - Fork 984
Open
Labels
Description
Flame v2 changes
This issue doesn't mean that we are soon to release v2, it's not even on the horizon yet.
In here we'll track breaking changes that we would want to do for Flame v2 so that they are not forgotten.
- Create a new tree structure, instead of using nested
OrderedSet
, possibly one tree for updating and one for rendering. - Support a global z-index/priority.
- More efficient event system (currently the events go through the whole component tree).
- Discuss changing anchor system so that children's 0,0 is at parents anchor.
- Convert the use of
ShapeComponent
in the collision detection to use pure shapes instead. - Return a list instead of a set from the collision detection methods.
- Completely rewrite
ParallaxComponent
to have the layers based onPositionComponent
and make it more intuitive to use. - Clean-up the
HasPaint
mixin. -
ColorEffect
should not take in anOffset
, but separate doubles. - Use a more efficient data structure than
OrderedSet
for children. - Create a
MarginComponent
that can replaceHudMarginComponent
and work when added to the viewport (or any sized parent). - Call
onGameResize
only when the game actually resizes. -
Component.add()
should return void.
Whoever wants to wait for the component to load can wait forcomponent.loaded
, and who wants to wait for it to mount can awaitcomponent.mounted
. - Figure out what to do with Game's
mount/attach
andremove/detach
. -
Component.children
should return a nullableComponentSet?
, so that it won't be instantiated when there are no children. - Report normal of collision for collision events.
- Allow decoding json arrays in the root from the cache. (see fix!: Allow AssetCache to load json files with array at root #2688)
- Rename
GameWidget.controlled
toGameWidget.managed
. - Structure caches so that the are consistent and have method names that make sense.
- Maybe rename
onPressed
andonReleased
toonTapDown
andonTapUp
inAdvancedButtonComponent
. - Remove middle intersection point on line for collision detection.
- Add generics for
CameraComponent
type inFlameGame
. - Migrate to Float32 vector math.
-
SpawnComponent
should only have one factory that returns a list of components. -
SpriteBatch
should take anAnchor
in relation to size instead ofVector2
with exact pixels for the anchor. - Caches should maybe not have a default
prefix
, so it become more in-line with Flutter (especially for the widgets). - We should support
package
for the caches and for the widgets'.asset
constructors. - Only expose
Iterable<Component>
fromchildren
and have query etc directly on the Component. -
game.paused
->game.isPaused
Once we are ready to start working at v2 we'll convert this task list into issues.
st-pasha, wolfenrain, t1gu1, munsterlander, li8607 and 19 moremrbeardad, gnarhard and xuelinger2333