BonfireGame class
Is a customGame where all magic of the Bonfire happen.
- Inheritance
- Implemented types
- Available extensions
Constructors
-
BonfireGame({required BuildContext context, required GameMap map, List<
PlayerController> ? playerControllers, Player? player, GameInterface? interface, List<GameComponent> ? components, List<GameComponent> ? hudComponents, GameBackground? background, bool debugMode = false, bool showCollisionArea = false, Color? collisionAreaColor, Color? lightingColorGame, ValueChanged<BonfireGame> ? onReady, Color? backgroundColor, GameColorFilter? colorFilter, CameraConfig? cameraConfig, List<Force2D> ? globalForces})
Properties
- assets ↔ AssetsCache
-
The cache of all (non-image) assets loaded into the game. This defaults to
the global Flame.assets cache, but you can replace this with another
instance if needed.
getter/setter pairinherited
- background → GameBackground?
-
Background of the game. This can be a color or custom component
final
- buildContext → BuildContext?
-
Currently attached build context. Can be null if not attached.
no setterinherited
- camera ↔ BonfireCamera
-
The component that is responsible for rendering your world.
getter/setter pair
- canvasSize → Vector2
-
no setterinherited
- children → ComponentSet
-
The children components of this component.
no setterinherited
- collisionAreaColor → Color?
-
Color of the collision area when
showCollisionArea
is truefinal - collisionDetection ↔ QuadTreeCollisionDetection
-
getter/setter pairinherited
- colorFilter → ColorFilterInterface
-
no setteroverride
- context → BuildContext
-
Context used to access all Flutter power in your game.
final
- 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
- enabledGestures ↔ bool
-
getter/setter pairinherited
- enabledKeyboard ↔ bool
-
getter/setter pairinherited
-
gameStateListeners
→ List<
VoidCallback> -
finalinherited
- gestureDetectors → GestureDetectorBuilder
-
Used internally by various mixins that need to use gesture detection
functionality in Flutter.
latefinalinherited
-
globalForces
→ List<
Force2D> -
final
- hasChildren → bool
-
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- hasLayout → bool
-
Indicates if this game instance is connected to a GameWidget that is live
in the flutter widget tree.
Once this is true, the game is ready to have its size used or in the case
of a FlameGame, to receive components.
no setterinherited
- hasLifecycleEvents → bool
-
no setterinherited
- highestPriority → int
-
Get of the _highestPriority
no setteroverride
- images ↔ Images
-
The cache of all images loaded into the game. This defaults to the global
Flame.images cache, but you can replace it with a new cache instance if
needed.
getter/setter pairinherited
- interface → GameInterface?
-
The way you can draw things like life bars, stamina and settings. In another words, anything that you may add to the interface to the game.
final
- isAttached → bool
-
Whether the game widget was attached to the Flutter tree.
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
- lighting → LightingInterface
-
no setteroverride
- lightingColorGame → Color?
-
Used to configure lighting in the game
final
-
loaded
→ Future<
void> -
A future that completes when this component finishes loading.
no setterinherited
- map → GameMap
-
Represents a map (or world) where the game occurs.
final
- minimumDistance ↔ double?
-
getter/setter pairinherited
-
mounted
→ Future<
void> -
A future that will complete once the component is mounted on its parent.
no setterinherited
- mouseCursor ↔ MouseCursor
-
Used to change the mouse cursor of the GameWidget running this game.
Setting the value to null will make the GameWidget defer the choice
of the cursor to the closest region available on the tree.
getter/setter pairinherited
- mouseDetector ↔ void Function(PointerHoverEvent event)?
-
Set by the PointerMoveDispatcher to receive mouse events from the
game widget.
getter/setter pairinherited
-
notifiers
→ List<
ComponentsNotifier< Component> > -
latefinalinherited
-
onReady
↔ ValueChanged<
BonfireGame> ? -
getter/setter pair
- overlays → OverlayManager
-
A property that stores an
OverlayManager
latefinalinherited - parent ↔ Component?
-
Who owns this component in the component tree.
getter/setter pairinherited
- paused ↔ bool
-
Returns is the engine if currently paused or running
getter/setter pairinherited
- pauseWhenBackgrounded ↔ bool
-
Whether the game should pause when the app is backgrounded.
getter/setter pairinherited
- player → Player?
-
Represents the character controlled by the user in the game. Instances of this class has actions and movements ready to be used and configured.
final
-
playerControllers
→ List<
PlayerController> ? -
The player-controlling component.
final
- 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
- renderBox → GameRenderBox
-
Just a reference back to the render box that is kept up to date by the
engine.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- sceneBuilderStatus ↔ SceneBuilderStatus
-
getter/setter pairoverride
- showCollisionArea → bool
-
Used to draw area collision in objects.
final
- size → Vector2
-
This is overwritten to consider the viewport transformation.
no setterinherited
- timeScale ↔ double
-
Returns the current time scale.
getter/setter pairinherited
- world ↔ World
-
The World that the
camera
is rendering. Inside of this world is where most of your components should be added.getter/setter pairinherited - worldsize → Vector2
-
no setteroverride
Methods
-
add(
Component component) → FutureOr< void> -
Schedules
component
to be added as a child to this component.override -
addAll(
Iterable< Component> components) → Future<void> -
A convenience method to add multiple children at once.
override
-
addGameStateListener(
VoidCallback callback) → void -
inherited
-
addHud(
Component component) → FutureOr< void> -
Used to add hud component in the game.
override
-
addJoystickObserver(
PlayerControllerListener target, {bool cleanObservers = false, bool moveCameraToTarget = false}) → void -
Use this method to change default observer of the Joystick events.
override
-
addToParent(
Component parent) → FutureOr< void> -
Adds this component as a child of
parent
(see add for details).inherited -
addVisible(
GameComponent obj) → void -
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
-
assertHasLayout(
) → void -
inherited
-
attach(
PipelineOwner owner, GameRenderBox gameRenderBox) → void -
Marks game as attached to any Flutter widget tree.
inherited
-
attackables(
{bool onlyVisible = false}) → Iterable< Attackable> -
Used to get all "Attackables" or oly visibles.
override
-
backgroundColor(
) → Color - Returns the game background color. By default it will return a black color. It cannot be changed at runtime, because the game widget does not get rebuild when this value changes.
-
collisions(
{bool onlyVisible = false}) → Iterable< ShapeHitbox> -
Used to get all "ShapeHitbox".
override
-
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 -
componentsNotifier<
T extends Component> () → ComponentsNotifier< T> -
Returns a ComponentsNotifier for the given type
W
.inherited -
configCollisionDetection(
Rect mapDimensions) → void -
override
-
contains(
Component c) → bool -
Whether the children list contains the given component.
inherited
-
containsLocalPoint(
Vector2 point) → bool -
Whether a point is within the boundaries of the visible part of the game.
inherited
-
containsPoint(
Vector2 point) → bool -
Same as containsLocalPoint, but for a "global"
point
.inherited -
convertGlobalToLocalCoordinate(
Vector2 point) → Vector2 -
Converts a global coordinate (i.e. w.r.t. the app itself) to a local
coordinate (i.e. w.r.t. he game widget).
If the widget occupies the whole app ("full screen" games), or is not
attached to Flutter, this operation is the identity.
inherited
-
convertLocalToGlobalCoordinate(
Vector2 point) → Vector2 -
Converts a local coordinate (i.e. w.r.t. the game widget) to a global
coordinate (i.e. w.r.t. the app itself).
If the widget occupies the whole app ("full screen" games), or is not
attached to Flutter, this operation is the identity.
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
-
currentTime(
) → double -
Returns the current time in seconds with microseconds precision.
inherited
-
decorations(
{bool onlyVisible = false}) → Iterable< GameDecoration> -
Used to get all "Decoration" or oly visibles.
override
-
dequeueAdd(
Component child, Component parent) → void -
inherited
-
dequeueRemove(
Component child) → void -
inherited
-
descendants(
{bool includeSelf = false, bool reversed = false}) → Iterable< Component> -
Recursively enumerates all nested children.
inherited
-
detach(
) → void -
Marks game as no longer attached to any Flutter widget tree.
inherited
-
enableGestures(
bool enable) → void -
override
-
enableKeyboard(
bool enable) → void -
override
-
enemies(
{bool onlyVisible = false}) → Iterable< Enemy> -
Used to get all "Enemies" or oly visibles.
override
-
enqueueAdd(
Component child, Component parent) → void -
inherited
-
enqueueMove(
Component child, Component newParent) → void -
inherited
-
enqueueRebalance(
Component parent) → void -
inherited
-
enqueueRemove(
Component child, Component parent) → void -
inherited
-
finalizeRemoval(
) → void -
inherited
-
findByKey<
T extends Component> (ComponentKey key) → T? -
inherited
-
findByKeyName<
T extends Component> (String name) → T? -
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 -
generateValues(
Duration duration, {double begin = 0.0, double end = 1.0, Curve curve = Curves.linear, Curve? reverseCurve, bool autoStart = true, bool infinite = false, VoidCallback? onFinish, ValueChanged< double> ? onChange}) → ValueGeneratorComponent -
Used to generate numbers to create your animations or anythings
override
-
globalToViewportPosition(
Vector2 position) → Vector2 -
This method convert viewport position to word position
override
-
handleLifecycleEventAdd(
Component parent) → LifecycleEventStatus -
inherited
-
handleLifecycleEventMove(
Component newParent) → LifecycleEventStatus -
inherited
-
handleLifecycleEventRemove(
Component parent) → LifecycleEventStatus -
inherited
-
handleResize(
Vector2 size) → void -
inherited
-
initializeCollisionDetection(
{required Rect mapDimensions, double? minimumDistance, int maxObjects = 25, int maxLevels = 10}) → void -
Initialize the QuadTree.
inherited
-
isVisibleInCamera(
GameComponent c) → bool -
Used to check if a component is visible in the camera.
override
-
lastChild<
T extends Component> () → T? -
Returns the last child that matches the given type
T
, or null if there are no such children.inherited -
lifecycleStateChange(
AppLifecycleState state) → void -
This is the lifecycle state change hook; every time the game is resumed,
paused or suspended, this is called.
inherited
-
livingEnemies(
{bool onlyVisible = false}) → Iterable< Enemy> -
Used to get living "Enemies" or oly visibles.
override
-
load(
) → FutureOr< void> -
inherited
-
loadSprite(
String path, {Vector2? srcSize, Vector2? srcPosition}) → Future< Sprite> -
Utility method to load and cache the image for a sprite based on its
options.
inherited
-
loadSpriteAnimation(
String path, SpriteAnimationData data) → Future< SpriteAnimation> -
Utility method to load and cache the image for a sprite animation based on
its options.
inherited
-
minimumDistanceCheck(
Vector2 activeItemCenter, Vector2 potentialCenter) → bool -
inherited
-
mount(
) → void -
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onAttach(
) → void -
Called when the game has been attached. This can be overridden
to add logic that requires the game to already be attached
to the widget tree.
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 -
onComponentTypeCheck(
ShapeHitbox first, ShapeHitbox second) → bool -
inherited
-
onDetach(
) → void - Called after the game has left the widget tree. This can be overridden to add logic that requires the game not be on the flutter widget tree anymore.
-
onDispose(
) → void -
Called when the GameWidget is disposed by Flutter.
inherited
-
onGameResize(
Vector2 size) → void -
This passes the new size along to every component in the tree via their
Component.onGameResize method, enabling each one to make their decision
of how to handle the resize event.
inherited
-
onKeyEvent(
KeyEvent event, Set< LogicalKeyboardKey> keysPressed) → KeyEventResult -
inherited
-
onLoad(
) → FutureOr< void> -
Late initialization method for Component.
override
-
onMount(
) → void -
inherited
-
onParentResize(
Vector2 maxSize) → void -
Called whenever the parent of this component changes size; and also once
before onMount.
inherited
-
onPointerCancel(
PointerCancelEvent event) → void -
inherited
-
onPointerDown(
PointerDownEvent event) → void -
inherited
-
onPointerHover(
PointerHoverEvent event) → void -
inherited
-
onPointerMove(
PointerMoveEvent event) → void -
inherited
-
onPointerSignal(
PointerSignalEvent event) → void -
inherited
-
onPointerUp(
PointerUpEvent event) → void -
inherited
-
onRemove(
) → void -
Called right before the component is removed from the game.
inherited
-
pauseEngine(
) → void -
Pauses the engine game loop execution.
inherited
-
processLifecycleEvents(
) → void -
inherited
-
processRebalanceEvents(
) → void -
inherited
-
propagateToApplicableNotifiers(
Component component, void callback(ComponentsNotifier< Component> )) → void -
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
-
query<
T extends Component> ({bool onlyVisible = false}) → Iterable< T> -
Used to find component by type visible or not.
override
-
queryHud<
T extends Component> () → Iterable< T> -
Used to get hud components.
override
-
raycast(
Ray2 ray, {double? maxDistance, List< ShapeHitbox> ? ignoreHitboxes, RaycastResult<ShapeHitbox> ? out}) → RaycastResult<ShapeHitbox> ? -
override
-
raycastAll(
Vector2 origin, {required int numberOfRays, double startAngle = 0, double sweepAngle = tau, double? maxDistance, List< Ray2> ? rays, List<ShapeHitbox> ? ignoreHitboxes, List<RaycastResult< ? out}) → List<ShapeHitbox> >RaycastResult< ShapeHitbox> > -
override
-
raytrace(
Ray2 ray, {int maxDepth = 10, List< ShapeHitbox> ? ignoreHitboxes, List<RaycastResult< ? out}) → Iterable<ShapeHitbox> >RaycastResult< ShapeHitbox> > -
override
-
ready(
) → Future< void> -
Ensure that all pending tree operations finish.
inherited
-
refreshWidget(
{bool isInternalRefresh = true}) → void -
When a Game is attached to a
GameWidget
, this method will force that widget to be rebuilt. This can be used when updating any property which is implemented within the Flutter tree.inherited -
registerKey(
ComponentKey key, Component component) → 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 onRemove for all of them
and their children.
inherited
-
removeFromParent(
) → void -
Remove the component from its parent in the next tick.
inherited
-
removeGameStateListener(
VoidCallback callback) → void -
inherited
-
removeVisible(
GameComponent obj) → void -
removeWhere(
bool test(Component component)) → void -
Removes all the children for which the
test
function returns true.inherited -
render(
Canvas canvas) → void -
This implementation of render renders each component, making sure the
canvas is reset for each one.
inherited
-
renderDebugMode(
Canvas canvas) → void -
inherited
-
renderTree(
Canvas canvas) → void -
inherited
-
requestUpdatePriority(
) → void -
resumeEngine(
) → void -
Resumes the engine game loop execution.
inherited
-
screenToWorld(
Vector2 position) → Vector2 -
This method convert screen position to word position
override
-
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 -
startScene(
List< SceneAction> actions, {void onComplete()?}) → void -
override
-
stepEngine(
{double stepTime = 1 / 60}) → void -
Steps the engine game loop by one frame. Works only if the engine is in
paused state. By default step time is assumed to be 1/60th of a second.
inherited
-
stopScene(
) → void -
override
-
toBeLoaded(
) → FutureOr< void> -
To be used for tests that needs to evaluate the game after it has been
loaded by the game widget.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
unregisterKey(
ComponentKey key) → void -
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 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
-
viewportPositionToGlobal(
Vector2 position) → Vector2 -
This method convert viewport position to screen position
override
-
visibles<
T extends GameComponent> () → Iterable< T> -
Used to get visible "Components".
override
-
worldToScreen(
Vector2 position) → Vector2 -
This method convert word position to screen position
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Constants
- INTERVAL_OPTIMIZE_TREE → const int
- INTERVAL_UPDATE_ORDER → const int