Component class

This represents a Component for your game.

Components can be for example bullets flying on the screen, a spaceship, a timer or an enemy. Anything that either needs to be rendered and/or updated is a good idea to have as a Component, since update and render will be called automatically once the component is added to the component tree in your game (with game.add).

Implementers

Constructors

Component({int? priority})

Properties

children ComponentSet
latefinal
debugColor Color
The color that the debug output should be rendered with.
getter/setter pair
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.
no setter
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 pair
debugPaint Paint
The debugColor represented as a Paint object.
no setter
debugTextPaint TextPaint
Returns a TextPaint object with the debugColor set as color for the text.
no setter
hashCode int
The hash code for this object.
no setterinherited
isHud bool
Whether this component is a HUD (Heads-up display) object or not.
getter/setter pair
isLoaded bool
Whether this component is done loading through onLoad.
getter/setter pair
isMounted bool
Whether this component is currently added to a component tree.
getter/setter pair
isPrepared bool
Whether this component has been prepared and is ready to be added to the game loop.
getter/setter pair
nextParent Component?
If the component should be added to another parent once it has been removed from its current parent.
getter/setter pair
onLoadCache Future<void>?
Since onLoad only should run once throughout a the lifetime of the implementing class, it is cached so that it can be reused when the parent component/game/widget changes.
getter/setter pairinherited
parent Component?
Get the current parent of the component, if there is one, otherwise null.
no setter
priority int
Render priority of this component. This allows you to control the order in which your components are rendered.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
shouldRemove bool
Whether this component should be removed or not.
getter/setter pair

Methods

add(Component component) Future<void>
Prepares and registers a component to be added on the next game tick
addAll(Iterable<Component> components) Future<void>
Adds multiple children.
ancestors() List<Component>
A list containing the current parent and its parent, and so on, until it reaches a component without a parent.
changeParent(Component component) → void
Changes the current parent for another parent and prepares the tree under the new root.
changePriorityWithoutResorting(int priority) → void
Usually this is not something that the user would want to call since the component list isn't re-ordered when it is called. See FlameGame.changePriority instead.
contains(Component c) bool
Whether the children list contains the given component.
containsPoint(Vector2 point) bool
Called to check whether the point is to be counted as within the component It needs to be overridden to have any effect, like it is in PositionComponent.
createComponentSet() ComponentSet
This method sets up the OrderedSet instance used by this component to handle its children, This is set up before any lifecycle methods happen.
eventPosition(PositionInfo info) Vector2
findParent<T extends Component>() → T?
Finds the closest parent further up the hierarchy that satisfies type=T, or null if none is found.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onGameResize(Vector2 gameSize) → void
It receives the new game size. Executed right after the component is attached to a game and right before onLoad is called.
onLoad() Future<void>?
Whenever onLoad returns something, the parent will wait for the Future to be resolved before adding it. If null is returned, the class is added right away.
inherited
onMount() → void
Called after the component has successfully run onLoad and before the component is added to its new parent.
inherited
onRemove() → void
Called right before the component is removed from the game.
prepare(Component parent) → void
Prepares the Component to be added to a parent, and if there is an ancestor that is a FlameGame that game will do necessary preparations for this component. If there are no parents that are a Game false will be returned and this will run again once an ancestor or the component itself is added to a Game.
propagateToChildren<T extends Component>(bool handler(T)) 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.
reAddChildren() Future<void>
The children are added again to the component set so that prepare, onLoad and onMount runs again. Used when a parent is changed further up the tree.
remove(Component c) → void
Removes a component from the component tree, calling onRemove for it and its children.
removeAll(Iterable<Component> cs) → void
Removes all the children in the list and calls onRemove for all of them and their children.
removeFromParent() → void
Remove the component from its parent in the next tick.
render(Canvas canvas) → void
renderDebugMode(Canvas canvas) → void
renderTree(Canvas canvas) → void
reorderChildren() → void
Call this if any of this component's children priorities have changed at runtime.
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.

Operators

operator ==(Object other) bool
The equality operator.
inherited