SimpleNpc class

Created by

─▄▀─▄▀ ──▀──▀ █▀▀▀▀▀█▄ █░░░░░█─█ ▀▄▄▄▄▄▀▀

Rafaelbarbosatec on 22/03/22 Enemy with animation in all direction

Inheritance
Mixed-in types
Available extensions

Constructors

SimpleNpc({required Vector2 position, required Vector2 size, SimpleDirectionAnimation? animation, double? speed, Direction initDirection = Direction.right})

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
acceleration Vector2
no setterinherited
activeCollisions Set<PositionComponent>
The objects that the object is currently colliding with.
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
animation SimpleDirectionAnimation?
getter/setter pairinherited
animationScale Vector2
no setterinherited
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
containsShapeHitbox bool
no setterinherited
context BuildContext
Get BuildContext
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 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
diagonalSpeed double
no setterinherited
displacement Vector2
getter/setter pairinherited
dtDiagonalSpeed double
no setterinherited
dtSpeed double
no setterinherited
dtUpdate double
getter/setter pairinherited
enabledCheckIsVisible bool
getter/setter pairinherited
gameMonuted bool
no setterinherited
gameRef BonfireGameInterface
getter/setter pairinherited
hasChildren bool
no setterinherited
hasGameRef bool
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
hasPaintLayers bool
Whether there are any paint layers defined for the component.
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
isColliding bool
Whether the object is currently colliding or not.
no setterinherited
isFlippedHorizontally bool
Whether it is currently flipped horizontally.
no setterinherited
isFlippedVertically bool
Whether it is currently flipped vertically.
no setterinherited
isIdle bool
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 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
isVisible bool
getter/setter pairinherited
key ComponentKey?
A key that can be used to identify this component in the tree.
finalinherited
lastAngle double
getter/setter pairinherited
lastDirection Direction
getter/setter pairinherited
lastDirectionHorizontal Direction
getter/setter pairinherited
lastDirectionVertical Direction
getter/setter pairinherited
lastDt double
getter/setter pairinherited
loaded Future<void>
A future that completes when this component finishes loading.
no setterinherited
minDisplacementToConsiderMove double
getter/setter pairinherited
mounted Future<void>
A future that will complete once the component is mounted on its parent.
no setterinherited
movementOnlyVisible bool
getter/setter pairinherited
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
onCollisionCallback CollisionCallback<PositionComponent>?
Assign your own CollisionCallback if you want a callback when this shape collides with another PositionComponent.
getter/setter pairinherited
onCollisionEndCallback CollisionEndCallback<PositionComponent>?
Assign your own CollisionEndCallback if you want a callback when this shape stops colliding with another PositionComponent.
getter/setter pairinherited
onCollisionStartCallback CollisionCallback<PositionComponent>?
Assign your own CollisionCallback if you want a callback when this shape starts to collide with another PositionComponent.
getter/setter pairinherited
opacity double
getter/setter pairinherited
paint Paint
getter/setter pairinherited
paintLayers List<Paint>
List of paints to use (in order) during render.
getter/setter pairinherited
paintLayersInternal List<Paint>?
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
priority int
Render priority of this component. This allows you to control the order in which your components are rendered.
getter/setter pairinherited
properties Map<String, dynamic>?
getter/setter pairinherited
rectCollision Rect
no setterinherited
removed Future<void>
A future that completes when this component is removed from its parent.
no setterinherited
renderAboveComponents bool
When true this component render above all components in game.
getter/setter pairinherited
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
shapeHitboxes Iterable<ShapeHitbox>
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
speed double
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
getter/setter pairinherited
velocityRadAngle double
getter/setter pairinherited
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. This angle is measured in clockwise direction. target should be in absolute/world coordinate system.
inherited
canMove(Direction direction, {double? displacement, Iterable<ShapeHitbox>? ignoreHitboxes}) bool
inherited
checkInterval(String key, int intervalInMilli, double dt, {bool firstCheckIsTrue = true}) bool
Returns true if for each time the defined millisecond interval passes. Like a Timer.periodic Used in flows involved in the update
inherited
cleanVisionCache() → void
inherited
collidingWith(PositionComponent other) bool
Whether the object is colliding with other or not.
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
correctPositionFromCollision(Vector2 position) → void
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
deletePaint(Object paintId) → void
Removes a paint from the collection.
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
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
getAlpha({Object? paintId}) int
Returns the current opacity.
inherited
getOpacity({Object? paintId}) double
Returns the current opacity.
inherited
getPaint([Object? paintId]) Paint
Gets a paint from the collection.
inherited
handleLifecycleEventAdd(Component parent) → LifecycleEventStatus
inherited
handleLifecycleEventMove(Component newParent) → LifecycleEventStatus
inherited
handleLifecycleEventRemove(Component parent) → LifecycleEventStatus
inherited
handleResize(Vector2 size) → void
inherited
handlerPointerCancel(PointerCancelEvent event) bool
inherited
handlerPointerDown(PointerDownEvent event) bool
inherited
handlerPointerHover(PointerHoverEvent event) bool
inherited
handlerPointerMove(PointerMoveEvent event) bool
inherited
handlerPointerSignal(PointerSignalEvent event) bool
inherited
handlerPointerUp(PointerUpEvent event) bool
inherited
hasGesture() bool
inherited
idle() → void
inherited
invervalIsRunning(String key) bool
inherited
isStopped() bool
inherited
isVisibleInCamera() bool
Method that checks if this component is visible on the screen
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
makeOpaque({Object? paintId}) → void
Manipulate the paint to make it fully opaque.
inherited
makeTransparent({Object? paintId}) → void
Manipulate the paint to make it fully transparent.
inherited
moveDown({double? speed}) → void
Move player to Down
inherited
moveDownLeft({double? speed}) → void
Move player to Down and Left
inherited
moveDownLeftOnce({double? speed}) → void
inherited
moveDownOnce({double? speed}) → void
inherited
moveDownRight({double? speed}) → void
Move player to Down and Right
inherited
moveDownRightOnce({double? speed}) → void
inherited
moveFromAngle(double angle, {double? speed}) → void
Move Player to direction by radAngle
inherited
moveFromDirection(Direction direction, {bool enabledDiagonal = true, double? speed}) → void
inherited
moveLeft({double? speed}) → void
Move player to Left
inherited
moveLeftOnce({double? speed}) → void
inherited
moveRight({double? speed}) → void
Move player to Right
inherited
moveRightOnce({double? speed}) → void
inherited
moveToPosition(Vector2 position, {double? speed, bool useCenter = true}) bool
inherited
moveUp({double? speed}) → void
Move player to Up
inherited
moveUpLeft({double? speed}) → void
Move player to Up and Left
inherited
moveUpLeftOnce({double? speed}) → void
inherited
moveUpOnce({double? speed}) → void
inherited
moveUpRight({double? speed}) → void
Move player to Up and Right
inherited
moveUpRightOnce({double? speed}) → void
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onApplyDisplacement(double dt) → void
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
onCollision(Set<Vector2> intersectionPoints, PositionComponent other) → void
onCollision is called in every tick when this object is colliding with other.
inherited
onCollisionEnd(PositionComponent other) → void
onCollisionEnd is called once when this object has stopped colliding with other.
inherited
onCollisionStart(Set<Vector2> intersectionPoints, PositionComponent other) → void
onCollisionStart is called in the first tick when this object starts colliding with other.
inherited
onComponentTypeCheck(PositionComponent other) bool
Works only for the QuadTree collision detection. If you need to prevent collision of items of different types - reimplement onComponentTypeCheck. The result of calculation is cached so you should not check any dynamical parameters here, the function intended to be used as pure type checker. Call super.onComponentTypeCheck to get the parent's result of the type check if needed. In other causes this call is redundant in game code.
inherited
onGameDetach() → void
inherited
onGameMounted() → void
inherited
onGameResize(Vector2 size) → void
Called whenever the size of the top-level Canvas changes.
inherited
onLoad() Future<void>
Late initialization method for Component.
inherited
onMount() → void
Called when the component is added to its parent.
inherited
onMove(double speed, Vector2 displacement, Direction direction, double angle) → void
You can override this method to listen the movement of this component
inherited
onParentResize(Vector2 maxSize) → void
Called whenever the parent of this component changes size; and also once before onMount.
inherited
onPlayIdleDownAnimation() → void
inherited
onPlayIdleDownLeftAnimation() → void
inherited
onPlayIdleDownRightAnimation() → void
inherited
onPlayIdleLeftAnimation() → void
inherited
onPlayIdleRightAnimation() → void
inherited
onPlayIdleUpAnimation() → void
inherited
onPlayIdleUpLeftAnimation() → void
inherited
onPlayIdleUpRightAnimation() → void
inherited
onPlayRunDownAnimation() → void
inherited
onPlayRunDownLeftAnimation() → void
inherited
onPlayRunDownRightAnimation() → void
inherited
onPlayRunLeftAnimation() → void
inherited
onPlayRunRightAnimation() → void
inherited
onPlayRunUpAnimation() → void
inherited
onPlayRunUpLeftAnimation() → void
inherited
onPlayRunUpRightAnimation() → void
inherited
onRemove() → void
Called right before the component is removed from the game.
inherited
onVelocityUpdate(double dt, Vector2 velocity) Vector2
inherited
opacityProviderOf(Object paintId) OpacityProvider
Creates an OpacityProvider for given paintId and can be used as target for OpacityEffect.
inherited
opacityProviderOfList({List<Object?>? paintIds, bool includeLayers = true}) OpacityProvider
Creates an OpacityProvider for given list of paintIds and can be used as target for OpacityEffect.
inherited
parentToLocal(Vector2 point, {Vector2? output}) Vector2
inherited
pauseEffectController(String key) → void
inherited
playInterval(String key) → void
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
raycast(Vector2 direction, {Vector2? origin, double? maxDistance, Iterable<ShapeHitbox>? ignoreHitboxes}) RaycastResult<ShapeHitbox>?
inherited
raycastAll(int numberOfRays, {Vector2? origin, double? maxDistance, double startAngle = 0, double sweepAngle = tau, List<Ray2>? rays, List<ShapeHitbox>? ignoreHitboxes}) List<RaycastResult<ShapeHitbox>>
inherited
raytrace(Ray2 ray, {int maxDepth = 10, List<ShapeHitbox>? ignoreHitboxes}) Iterable<RaycastResult<ShapeHitbox>>
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
replaceAnimation(SimpleDirectionAnimation newAnimation, {bool doIdle = false}) Future<void>
inherited
resetInterval(String key) → void
inherited
screenPosition() Vector2
Return screen position of this component.
inherited
seeComponent(GameComponent component, {required dynamic observed(GameComponent), VoidCallback? notObserved, double radiusVision = 32, double? visionAngle, double angle = 3.14159}) PolygonShape?
This method we notify when detect the component when enter in radiusVision configuration Method that bo used in update method. visionAngle in radians angle in radians.
inherited
seeComponentType<T extends GameComponent>({required dynamic observed(List<T>), VoidCallback? notObserved, double radiusVision = 32, double? visionAngle, double angle = 3.14159}) PolygonShape?
This method we notify when detect components by type when enter in radiusVision configuration Method that bo used in update method. visionAngle in radians angle in radians.
inherited
setAlpha(int alpha, {Object? paintId}) → void
Changes the opacity of the paint.
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
setColor(Color color, {Object? paintId}) → void
Shortcut for changing the color of the paint.
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
setOpacity(double opacity, {Object? paintId}) → void
Changes the opacity of the paint.
inherited
setPaint(Object paintId, Paint paint) → void
Sets a paint on the collection.
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
setupVision({Color? color, bool drawVision = false, bool checkWithRaycast = true, int countPolygonPoints = 20}) → void
inherited
setVelocityAxis({double? x, double? y}) → void
inherited
setZeroVelocity({bool isX = true, bool isY = true}) → void
inherited
stopMove({bool forceIdle = false, bool isX = true, bool isY = true}) → void
inherited
tickInterval(String key) → void
inherited
tint(Color color, {Object? paintId}) → void
Applies a color filter to the paint which will make things rendered with the paint looking like it was tinted with the given color.
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
translate(Vector2 displacement) → void
Method used to translate component
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 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