PositionedEntity class abstract
{@macro entity}
This entity is based on the PositionComponent
and can be positioned
on the screen.
- Mixed-in types
Constructors
-
PositionedEntity({Vector2? position, Vector2? size, Vector2? scale, double? angle, Anchor? anchor, Iterable<
Component> ? children, int? priority, Iterable<Behavior< ? behaviors})EntityMixin> > - {@macro entity}
Properties
- absoluteAngle → double
-
The resulting angle after all the ancestors and the components own angle
has been applied.
no setterinherited
- absoluteCenter → Vector2
-
The absolute center of the component.
no setterinherited
- absolutePosition → Vector2
-
The
anchor
's position in absolute (world) coordinates.no setterinherited - absoluteScale → Vector2
-
The resulting scale after all the ancestors and the components own scale
has been applied.
no setterinherited
- absoluteScaledSize → Vector2
-
The resulting size after all the ancestors and the components own scale
has been applied.
no setterinherited
- absoluteTopLeftPosition → Vector2
-
The absolute top left position regardless of whether it is a child or not.
no setterinherited
- anchor ↔ Anchor
-
Anchor point for this component. An anchor point describes a point
within the rectangle of size
size
. This point is considered to be the logical "center" of the component. This can be visualized as the point where Flame "grabs" the component. All transforms occur around this point: theposition
is where the anchor point will end up after the component is translated; the rotation and scaling also happen around this anchor point.getter/setter pairinherited - angle ↔ double
-
Rotation angle (in radians) of the component. The component will be
rotated around its anchor point in the clockwise direction if the
angle is positive, or counterclockwise if the angle is negative.
getter/setter pairinherited
- center ↔ Vector2
-
The position of the center of the component's bounding rectangle
in the parent's coordinates.
getter/setter pairinherited
- children → ComponentSet
-
The children components of this component.
no setterinherited
- 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
Component
is in debug mode or not. When a child is added to theComponent
it gets the samedebugMode
as its parent has when it is prepared.getter/setter pairinherited - debugPaint → Paint
-
The
debugColor
represented as a Paint object.no setterinherited - debugTextPaint → TextPaint
-
Returns a
TextPaint
object with thedebugColor
set as color for the text.no setterinherited - decorator ↔ Decorator
-
The decorator is used to apply visual effects to a component.
getter/setter pairinherited
- hasChildren → bool
-
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- height ↔ double
-
The height of the component in local coordinates. Note that the object
may visually appear larger or smaller due to application of
scale
.getter/setter pairinherited - isFlippedHorizontally → bool
-
Whether it is currently flipped horizontally.
no setterinherited
- isFlippedVertically → bool
-
Whether it is currently flipped vertically.
no setterinherited
- isLoaded → bool
-
Whether this component has completed its
onLoad
step.no setterinherited - isLoading → bool
-
Whether the component is currently executing its
onLoad
step.no setterinherited - isMounted → bool
-
Whether this component is currently added to a component tree.
no setterinherited
- isMounting → bool
-
no setterinherited
- isRemoved → bool
-
Whether the component has been removed. Originally this flag is
false
, but it becomestrue
after the component was mounted and then removed from its parent. The flag becomesfalse
again 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
- nativeAngle ↔ double
-
The angle where this component is looking at when it is in
the default state, i.e. when
angle
is equal to zero. For example, a nativeAngle of 0 implies up/north direction pi/2 implies right/east direction pi implies down/south direction -pi/2 implies left/west directiongetter/setter pairinherited - parent ↔ Component?
-
Who owns this component in the component tree.
getter/setter pairinherited
- position ↔ NotifyingVector2
-
The position of this component's anchor on the screen.
getter/setter pairinherited
- 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
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- scale ↔ NotifyingVector2
-
The scale factor of this component. The scale can be different along
the X and Y dimensions. A scale greater than 1 makes the component
bigger, and less than 1 smaller. The scale can also be negative,
which results in a mirror reflection along the corresponding axis.
getter/setter pairinherited
- scaledSize → Vector2
-
The "physical" size of the component. This is the size of the
component as seen from the parent's perspective, and it is equal to
size
*scale
. This is a computed property and cannot be modified by the user.no setterinherited - size ↔ NotifyingVector2
-
The logical size of the component. The game assumes that this is the
approximate size of the object that will be drawn on the screen.
This size will therefore be used for collision detection and tap
handling.
getter/setter pairinherited
- topLeftPosition ↔ Vector2
-
The top-left corner's position in the parent's coordinates.
getter/setter pairinherited
- transform → Transform2D
-
finalinherited
- transformMatrix → Matrix4
-
The total transformation matrix for the component. This matrix combines
translation, rotation and scale transforms into a single entity. The
matrix is cached and gets recalculated only as necessary.
no setterinherited
- width ↔ double
-
The width of the component in local coordinates. Note that the object
may visually appear larger or smaller due to application of
scale
.getter/setter pairinherited - x ↔ double
-
X position of this component's anchor on the screen.
getter/setter pairinherited
- y ↔ double
-
Y position of this component's anchor on the screen.
getter/setter pairinherited
Methods
-
absolutePositionOf(
Vector2 point) → Vector2 -
Convert local coordinates of a point
point
inside the component into the global (world) coordinate space.inherited -
absolutePositionOfAnchor(
Anchor anchor) → Vector2 -
Similar to absolutePositionOf(), but applies to any anchor
point within the component.
inherited
-
absoluteToLocal(
Vector2 point) → Vector2 -
Transform
point
from the global (world) coordinate space into the local coordinates. This function is the inverse of absolutePositionOf().inherited -
add(
Component component) → FutureOr< void> -
Schedules
component
to be added as a child to this component.inherited -
addAll(
Iterable< Component> components) → Future<void> -
A convenience method to
add
multiple children at once.inherited -
addToParent(
Component parent) → FutureOr< void> -
Adds this component as a child of
parent
(seeadd
for details).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
-
angleTo(
Vector2 target) → double -
Returns the angle formed by component's orientation vector and a vector
starting at component's absolute position and ending at
target
. This angle is measured in clockwise direction.target
should be in absolute/world coordinate system.inherited -
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
point
is in the local coordinate space.inherited -
contains(
Component c) → bool -
Whether the children list contains the given component.
inherited
-
containsLocalPoint(
Vector2 point) → bool -
Test whether the
point
(given in local coordinates) lies within this component. The top and the left borders of the component are inclusive, while the bottom and the right borders are exclusive.inherited -
containsPoint(
Vector2 point) → bool -
Test whether the
point
(given in global coordinates) lies within this component. The top and the left borders of the component are inclusive, while the bottom and the right borders are exclusive.inherited -
createComponentSet(
) → ComponentSet -
This method creates the children container for the current component.
Override this method if you need to have a custom
ComponentSet
within a particular class.inherited -
descendants(
{bool includeSelf = false, bool reversed = false}) → Iterable< Component> -
Recursively enumerates all nested
children
.inherited -
distance(
PositionComponent other) → double -
Measure the distance (in parent's coordinate space) between this
component's anchor and the
other
component's anchor.inherited -
findBehavior<
T extends Behavior< (EntityMixin> >) → T -
Returns the first found behavior with the given type, that is attached
to this entity.
inherited
-
findBehaviors<
T extends Behavior< (EntityMixin> >) → Iterable< T> -
Returns a list of behaviors with the given type, that are attached to
this entity.
inherited
-
findGame(
) → FlameGame< World> ? -
Fetches the nearest
FlameGame
ancestor 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
-
findRootGame(
) → FlameGame< World> ? -
Fetches the root
FlameGame
ancestor 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 -
flipHorizontally(
) → void -
Flip the component horizontally around its anchor point.
inherited
-
flipHorizontallyAroundCenter(
) → void -
Flip the component horizontally around its center line.
inherited
-
flipVertically(
) → void -
Flip the component vertically around its anchor point.
inherited
-
flipVerticallyAroundCenter(
) → void -
Flip the component vertically around its center line.
inherited
-
handleLifecycleEventAdd(
Component parent) → LifecycleEventStatus -
inherited
-
handleLifecycleEventMove(
Component newParent) → LifecycleEventStatus -
inherited
-
handleLifecycleEventRemove(
Component parent) → LifecycleEventStatus -
inherited
-
handleResize(
Vector2 size) → void -
inherited
-
hasBehavior<
T extends Behavior< (EntityMixin> >) → bool -
Checks if this entity has at least one behavior with the given type.
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? output}) → Vector2 -
inherited
-
lookAt(
Vector2 target) → void -
Rotates/snaps the component to look at the
target
.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
child
has 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
-
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 the game.
inherited
-
parentToLocal(
Vector2 point, {Vector2? output}) → Vector2 -
inherited
-
positionOf(
Vector2 point) → Vector2 -
Convert local coordinates of a point
point
inside the component into the parent's coordinate space.inherited -
positionOfAnchor(
Anchor anchor) → Vector2 -
Similar to positionOf(), but applies to any anchor point within
the component.
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
-
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
onRemove
for all of them and their children.inherited -
removeFromParent(
) → void -
Remove the component from its parent in the next tick.
inherited
-
removeWhere(
bool test(Component component)) → void -
Removes all the children for which the
test
function returns true.inherited -
render(
Canvas canvas) → void -
inherited
-
renderDebugMode(
Canvas canvas) → void -
inherited
-
renderTree(
Canvas canvas) → void -
inherited
-
setByRect(
Rect rect) → void -
Mutates position and size using the provided
rect
as basis. This is a relative rect, same definition thattoRect
use (therefore both methods are compatible, i.e. setByRect ∘ toRect = identity).inherited -
setLoaded(
) → void -
Used by the
FlameGame
to set the loaded state of the component, since the game isn't going through the whole normal component life cycle.inherited -
setMounted(
) → void -
Used by the
FlameGame
to set the mounted state of the component, since the game isn't going through the whole normal component life cycle.inherited -
setRemoved(
) → void -
Used by the
FlameGame
to set the removed state of the component, since the game isn't going through the whole normal component life cycle.inherited -
toAbsoluteRect(
) → Rect -
The bounding rectangle of the component in global coordinate space.
inherited
-
toLocal(
Vector2 point) → Vector2 -
Transform
point
from the parent's coordinate space into the local coordinates. This function is the inverse of positionOf().inherited -
toRect(
) → Rect -
Returns the bounding rectangle for this component.
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.
inherited
-
updateTree(
double dt) → void -
This method traverses the component tree and calls
update
on all its children according to theirpriority
order, relative to the priority of the direct siblings, not the children or the ancestors.inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited