HasAnimationGroup mixin

Superclass constraints

Properties

absoluteAngle double
The resulting angle after all the ancestors and the components own angles and scales have been applied.
no setterinherited
absoluteAngleWithoutReflection double
The resulting angle after all the ancestors and the components own angles and scales have been applied, but without reflecting the angle if the component is flipped.
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: the position 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
animationGroup AnchoredAnimationGroup<dynamic, PositionComponent>
no setter
bottom double
Bottommost point.
getter/setter pairinherited
center ↔ Vector2
The position of the center of the component's bounding rectangle in the parent's coordinates.
getter/setter pairinherited
centerX double
Horizontal middle point.
getter/setter pairinherited
centerY double
Vertical middle point.
getter/setter pairinherited
children → ReadOnlyOrderedSet<Component>
The children components of this component.
no setterinherited
collisionInfo CollisionInfo
Collision detection status from the latest update.
finalinherited
debugCollisions bool
Draws a rect over the hitbox of collisions when is true.
getter/setter pairinherited
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
debugHitbox bool
Draws a rect over the hitbox when this is true.
getter/setter pairinherited
debugMode bool
Returns whether this Component is in debug mode or not. When a child is added to the Component it gets the same debugMode 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 the debugColor set as color for the text.
no setterinherited
decorator ↔ Decorator
The decorator is used to apply visual effects to a component.
getter/setter pairinherited
forceSpriteLookDirection HorizontalDirection?
Force the animation to face a particular direction, overriding default behavior, for example velocity based looking in AnimationVelocityFlipBehavior
getter/setter pair
gravityRate double
Multiplier on standard gravity, see GravityAccelerationBehavior.
getter/setter pairinherited
gridBottom int
Vertical grid coordinate of the bottommost point on this.
no setterinherited
gridLeft int
Horizontal grid coordinate of the leftmost point on this.
no setterinherited
gridRight int
Horizontal coordinate of the rightmost point on this.
no setterinherited
gridTop int
Vertical grid coordinate of the topmost point on this.
no setterinherited
gridX int
Defined so it can be overridden by LeapMapGroundTile
no setterinherited
gridY int
Defined so it can be overridden by LeapMapGroundTile
no setterinherited
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
hazardDamage int
How much damage this does by default to other entities. This property has no affect on its own, it is for custom logic. Typically this is applied as the result of a collision, if the colliding entity has a tags value that indicates it is a "Hazard" or "Spikes" or "Enemy" etc.
getter/setter pairinherited
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
ignoreTags Set<String>
Which other entities to ignore during collision detection.
finalinherited
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
isPitch bool
Defined so it can be overridden by LeapMapGroundTile
no setterinherited
isPitchFromLeft bool
Defined so it can be overridden by LeapMapGroundTile
no setterinherited
isPitchFromRight bool
Defined so it can be overridden by LeapMapGroundTile
no setterinherited
isRemoved bool
Whether the component has been removed. Originally this flag is false, but it becomes true after the component was mounted and then removed from its parent. The flag becomes false again when the component is mounted to a new parent.
no setterinherited
isRemoving bool
Whether the component is scheduled to be removed.
no setterinherited
isSlope bool
Defined so it can be overridden by LeapMapGroundTile
no setterinherited
isSlopeFromLeft bool
Defined so it can be overridden by LeapMapGroundTile
no setterinherited
isSlopeFromRight bool
Defined so it can be overridden by LeapMapGroundTile
no setterinherited
isSolidFromBottom bool
When this is considered solid, phase through from below
getter/setter pairinherited
isSolidFromLeft bool
When this is considered solid, phase through from left
getter/setter pairinherited
isSolidFromRight bool
When this is considered solid, phase through from right
getter/setter pairinherited
isSolidFromTop bool
When this is considered solid, phase through from above
getter/setter pairinherited
key → ComponentKey?
A key that can be used to identify this component in the tree.
finalinherited
leapGame LeapGame<LeapWorld>
Set in onLoad, sub-classes can use HasGameRef as well if they want to specify the game type OR create a game getter that casts leapGame to the appropriate type.
getter/setter pairinherited
leapMap LeapMap
Can only be accessed after onLoad
no setterinherited
leapWorld LeapWorld
Can only be accessed after onLoad, sub-classes can use HasWorldReference if they prefer to specify the world type OR create a game getter that casts leapGame to the appropriate type.
no setterinherited
left double
Leftmost point.
getter/setter pairinherited
leftBottomOffset int?
Defined so it can be overridden by LeapMapGroundTile
no setterinherited
leftTopOffset int?
Defined so it can be overridden by LeapMapGroundTile
no setterinherited
loaded Future<void>
A future that completes when this component finishes loading.
no setterinherited
maxGravityVelocity double
Capped downward velocity (positive y), see GravityAccelerationBehavior
no setterinherited
maxGravityVelocityOverride double?
Override the world maxGravityVelocity just for this entity
getter/setter pairinherited
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 direction
getter/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
prevBottom double
bottom from last game tick
no setterinherited
prevCollisionInfo CollisionInfo
collisionInfo from last game tick
finalinherited
prevPosition → Vector2
position from last game tick. Typically set by ApplyVelocityBehavior, but if an entity manages its own position state it should set this itself
finalinherited
prevTop double
top from last game tick
no setterinherited
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
Rightmost point.
getter/setter pairinherited
rightBottomOffset int?
Defined so it can be overridden by LeapMapGroundTile
no setterinherited
rightTopOffset int?
Defined so it can be overridden by LeapMapGroundTile
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
solidTags Set<String>
Which other entities should be considered solid as part of normal physics engine / collision detection calculations.
finalinherited
spriteFacesLeft bool
Whether or not the sprite sheet is looking left
getter/setter pair
spriteLookDirection HorizontalDirection?
Whether or not the animation should currently be looking left. null indicates direction should remain unchanged.
no setter
statuses List<EntityStatus>
Status effects which can control aspects of the leap engine (gravity, collisions, etc.), or be used for fully custom handling.
no setterinherited
tags Set<String>
Tags for custom logic, also used by solidTags
finalinherited
tileSize double
Tile size (width and height) in pixels
no setterinherited
top double
Topmost point.
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
velocity → Vector2
Position object to store the x/y components.
finalinherited
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 (see add 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. I.e. how much the current component need to rotate to face the 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() → OrderedSet<Component>
This method creates the children container for the current component. Override this method if you need to have a custom OrderedSet 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
findRenderContext<T extends ComponentRenderContext>() → T?
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
getStatus<TStatus extends EntityStatus>() → TStatus?
Gets the first status having type TStatus or null if there is none.
inherited
hasBehavior<T extends Behavior<EntityMixin>>() bool
Checks if this entity has at least one behavior with the given type.
inherited
hasStatus<TStatus extends EntityStatus>() bool
Whether or not this has a status of type TStatus.
inherited
isOtherSolid(PhysicalEntity other) bool
Whether or other should be considered solid relative to this during collision detection.
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() → 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
onStatusMount(EntityStatus status) → void
Invoked when a child EntityStatus is mounted, this is designed to be called only by EntityStatus.onMount
inherited
onStatusRemove(EntityStatus status) → void
Invoked when a child EntityStatus is mounted, this is designed to be called only by EntityStatus.onRemove
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
rebalanceChildren() → void
inherited
relativeBottom(PhysicalEntity other) double
Defined so it can be overridden by vaulted ceilings, relative bottom takes into account the topmost point that could intersect other based on its horizontal position.
inherited
relativeTop(PhysicalEntity other) double
Defined so it can be overridden by slopes, relative top takes into account the topmost point that could intersect other based on its horizontal position.
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 that toRect use (therefore both methods are compatible, i.e. setByRect ∘ toRect = identity).
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
inherited
update(double dt) → void
Note that this is called BEFORE behaviors and other child components, therefore you may prefer to use updateAfter or add a Behavior
inherited
updateAfter(double dt) → void
after update and children are updated
inherited
updateTree(double dt) → void
This method traverses the component tree and calls update on all its children according to their priority 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