Forge2DWorld class
The root component when using Forge2DGame, can handle both BodyComponents and normal Flame components.
Wraps the world class that comes from Forge2D (forge2d.World).
Constructors
-
Forge2DWorld({Vector2? gravity, WorldDef? definition, ContactEventsDispatcher? contactEventsDispatcher, Iterable<
Component> ? children}) -
Creates a Forge2DWorld with the given
gravity, which defaults to defaultGravity.
Properties
-
bodies
→ Set<
Body> -
The bodies that have been created through createBody and not yet
destroyed.
no setter
-
children
→ ReadOnlyOrderedSet<
Component> -
The children components of this component.
no setterinherited
- contactEventsDispatcher → ContactEventsDispatcher
-
Routes the contact and sensor events that the physics world generated
during a step to the ContactCallbacks in the involved userData.
final
- customFilterCallback ← bool Function(Shape shapeA, Shape shapeB)?
-
A callback that decides whether two shapes that pass the regular
category filtering may collide.
no getter
- debugColor ↔ Color
-
The color that the debug output should be rendered with.
getter/setter pairinherited
- debugCoordinatesPrecision ↔ int?
-
How many decimal digits to print when displaying coordinates in the
debug mode. Setting this to null will suppress all coordinates from
the output.
getter/setter pairinherited
- debugMode ↔ bool
-
Returns whether this
Componentis in debug mode or not. When a child is added to theComponentit gets the samedebugModeas its parent has when it is prepared.getter/setter pairinherited - debugPaint → Paint
-
The
debugColorrepresented as a Paint object.no setterinherited - debugTextPaint → TextPaint
-
Returns a
TextPaintobject with thedebugColorset as color for the text.no setterinherited - destroyBodiesOnRemove ↔ bool
-
If true, all bodies will be destroyed when the world is removed from
the component tree.
Set this to false if you want to keep the bodies state for later, if
you for example plan to add the world back to the component tree.
getter/setter pair
- gravity ↔ Vector2
-
Don't change the gravity object directly, use the setter instead.
getter/setter pair
- hasChildren → bool
-
Whether this component has any children.
Avoids the creation of the children container if not necessary.
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- isLoaded → bool
-
Whether this component has completed its
onLoadstep.no setterinherited - isLoading → bool
-
Whether the component is currently executing its
onLoadstep.no setterinherited - isMounted → bool
-
Whether this component is currently added to a component tree.
no setterinherited
- isRemoved → bool
-
Whether the component has been removed. Originally this flag is
false, but it becomestrueafter the component was mounted and then removed from its parent. The flag becomesfalseagain when the component is mounted to a new parent.no setterinherited - isRemoving → bool
-
Whether the component is scheduled to be removed.
no setterinherited
- key → ComponentKey?
-
A key that can be used to identify this component in the tree.
finalinherited
-
loaded
→ Future<
void> -
A future that completes when this component finishes loading.
no setterinherited
-
mounted
→ Future<
void> -
A future that will complete once the component is mounted on its parent.
no setterinherited
- parent ↔ Component?
-
Who owns this component in the component tree.
getter/setter pairinherited
- physicsWorld → World
-
The underlying Forge2D physics world.
no setter
- preSolveCallback ← bool Function(Shape shapeA, Shape shapeB, Vector2 normal)?
-
A callback that runs before contacts are solved, which can veto a
contact for the step by returning false.
no getter
- priority ↔ int
-
Render priority of this component. This allows you to control the order in
which your components are rendered.
getter/setter pairinherited
-
removed
→ Future<
void> -
A future that completes when this component is removed from its parent.
no setterinherited
- renderContext → ComponentRenderContext?
-
Override this method if you want your component to provide a custom
render context to all its children (recursively).
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- subStepCount ↔ int
-
The number of sub-steps that the physics world performs for each
update.
getter/setter pair
Methods
-
add(
Component component) → FutureOr< void> -
Schedules
componentto be added as a child to this component.inherited -
addAll(
Iterable< Component> components) → Future<void> -
A convenience method to
addmultiple children at once.inherited -
addToParent(
Component parent) → FutureOr< void> -
Adds this component as a child of
parent(seeaddfor details).inherited -
afterChildrenRendered(
Canvas canvas) → void -
Called once after all children have been rendered in
renderTree.inherited -
ancestors(
{bool includeSelf = false}) → Iterable< Component> -
An iterator producing this component's parent, then its parent's parent,
then the great-grand-parent, and so on, until it reaches a component
without a parent.
inherited
-
castRay(
Vector2 origin, Vector2 translation, double callback(RayHit hit), {QueryFilter? filter}) → void -
Casts a ray from
originalongtranslation, invokingcallbackfor every candidate hit in an arbitrary order. -
castRayAll(
Vector2 origin, Vector2 translation, {QueryFilter? filter}) → List< RayHit> -
Casts a ray from
originalongtranslationand returns every hit, sorted from nearest to farthest. -
castRayClosest(
Vector2 origin, Vector2 translation, {QueryFilter? filter}) → RayHit? -
Casts a ray from
originalongtranslationand returns the closest hit, or null when nothing is hit. -
componentsAtLocation<
T> (T locationContext, List< T> ? nestedContexts, T? transformContext(CoordinateTransform, T), bool checkContains(Component, T)) → Iterable<Component> -
This is a generic implementation of
componentsAtPoint; refer to those docs for context.inherited -
componentsAtPoint(
Vector2 point, [List< Vector2> ? nestedPoints]) → Iterable<Component> -
An iterable of descendant components intersecting the given point. The
pointis in the local coordinate space.inherited -
contains(
Component c) → bool -
Whether the children list contains the given component.
inherited
-
containsLocalPoint(
Vector2 point) → bool -
Checks whether the
pointis within this component's bounds.inherited -
containsPoint(
Vector2 point) → bool -
Same as
containsLocalPoint, but for a "global"point.inherited -
createBody(
[BodyDef? def]) → Body -
createComponentSet(
) → OrderedSet< Component> -
This method creates the children container for the current component.
Override this method if you need to have a custom
OrderedSetwithin a particular class.inherited -
descendants(
{bool includeSelf = false, bool reversed = false}) → Iterable< Component> -
Recursively enumerates all nested
children.inherited -
destroyBody(
Body body) → void -
findGame(
) → FlameGame< World> ? -
Fetches the nearest
FlameGameancestor to the component.inherited -
findParent<
T extends Component> ({bool includeSelf = false}) → T? -
Returns the closest parent further up the hierarchy that satisfies type=T,
or null if no such parent can be found.
inherited
-
findRenderContext<
T extends ComponentRenderContext> () → T? -
inherited
-
findRootGame(
) → FlameGame< World> ? -
Fetches the root
FlameGameancestor to the component.inherited -
firstChild<
T extends Component> () → T? -
Returns the first child that matches the given type
T, or null if there are no such children.inherited -
lastChild<
T extends Component> () → T? -
Returns the last child that matches the given type
T, or null if there are no such children.inherited -
localToParent(
Vector2 point) → Vector2? -
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onChildrenChanged(
Component child, ChildrenChangeType type) → void -
This method will be invoked from lifecycle if
childhas been added to or removed from its parent children list.inherited -
onGameResize(
Vector2 size) → void -
Called whenever the size of the top-level Canvas changes.
inherited
-
onHotReload(
) → void -
Called when Flutter's hot reload is triggered.
inherited
-
onLoad(
) → FutureOr< void> -
Late initialization method for
Component.inherited -
onMount(
) → void -
Called when the component is added to its parent.
inherited
-
onParentResize(
Vector2 maxSize) → void -
Called whenever the parent of this component changes size; and also once
before
onMount.inherited -
onRemove(
) → void -
Called right before the component is removed from its parent
and also before it changes parents (and is thus temporarily removed
from the component tree).
inherited
-
overlapAabb(
Aabb aabb, {QueryFilter? filter}) → List< Shape> -
Returns all shapes whose bounding boxes overlap
aabb. -
parentToLocal(
Vector2 point) → Vector2? -
inherited
-
propagateToChildren<
T extends Component> (bool handler(T), {bool includeSelf = false}) → bool -
This method first calls the passed handler on the leaves in the tree,
the children without any children of their own.
Then it continues through all other children. The propagation continues
until the handler returns false, which means "do not continue", or when
the handler has been called with all children.
inherited
-
rebalanceChildren(
) → void -
inherited
-
remove(
Component component) → void -
Removes a component from the component tree.
inherited
-
removeAll(
Iterable< Component> components) → void -
Removes all the children in the list and calls
onRemovefor all of them and their children.inherited -
removeFromParent(
) → void -
Remove the component from its parent in the next tick.
inherited
-
removeWhere(
bool test(Component c)) → void -
Removes all the children for which the
testfunction returns true.inherited -
render(
Canvas canvas) → void -
inherited
-
renderChild(
Canvas canvas, Component child) → void -
Renders a single
childcomponent ontocanvas.inherited -
renderDebugMode(
Canvas canvas) → void -
inherited
-
renderFromCamera(
Canvas canvas) → void -
The rendering method invoked by the
CameraComponent.inherited -
renderTree(
Canvas canvas) → void -
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
update(
double dt) → void - This method is called periodically by the game engine to request that your component updates itself.
-
updateTree(
double dt) → void -
This method traverses the component tree and calls
updateon all its children according to theirpriorityorder, relative to the priority of the direct siblings, not the children or the ancestors.inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
- defaultGravity → Vector2
-
final