singh_engine library

Classes

Aabb2
Defines a 2-dimensional axis-aligned bounding box between a min and a max position.
Aabb3
Defines a 3-dimensional axis-aligned bounding box between a min and a max position.
Anchor
Represents a relative position inside some 2D object with a rectangular size or bounding box.
AnimatedFollowerObject
AnimatedObject
This represents a Component for your game in singh_engine.
AnimatedObjectOnce
BackgroundColorGame
BatchItem
A single item in a SpriteBatch.
Block
This is just a pair of <int, int>.
BonfireGame
Is a customGame where all magic of the Bonfire happen.
BonfireTiledWidget
BonfireWidget
CameraConfig
Class use to configure camera behavior.
CircleComponent
CircleShape
CollisionArea
CollisionConfig
Component
This represents a Component for your game.
ComponentSet
This is a simple wrapper over QueryableOrderedSet to be used by Component.
CustomPainterComponent
A PositionComponent that renders a CustomPainter at the designated position, scaled to have the designated size and rotated to the specified angle.
Enemy
It is used to represent your enemies.
Flame
This class holds static references to some useful objects to use in your game.
FlyingAttackAngleObject
FlyingAttackObject
FollowerObject
FollowerWidget
With this widget you can add a widget what follows a component in the game.
Frustum
Defines a frustum constructed out of six Planes.
GameBackground
GameColorFilter
GameComponent
Base of the all components in the Bonfire
GameController
GameDecoration
This component represents anything you want to add to the scene, it can be a simple "barrel" halfway to an NPC that you can use to interact with your player.
GameDecorationWithCollision
GameDecoration with collision used in construct of the map with Tiled
GameInterface
The way you cand raw things like life bars, stamina and settings. In another words, anything that you may add to the interface to the game.
GameListener
InterfaceComponent
Component used to add in your GameInterface
IntersectionResult
Defines a result of an intersection test.
IntervalTick
IsometricTileMapComponent
This component renders a tilemap, represented by an int matrix, given a tileset, in which the integers are the block ids.
Joystick
JoystickAction
JoystickActionEvent
JoystickController
JoystickDirectional
JoystickDirectionalEvent
JoystickMoveToPosition
KeyboardConfig
LayerPriority
LightingConfig
Class used to configure lighting
MapGame
MapWorld
Matrix2
2D Matrix. Values are stored in column major order.
Matrix3
3D Matrix. Values are stored in column major order.
Matrix4
4D Matrix. Values are stored in column major order.
NineTileBox
This allows you to create a rectangle textured with a 9-sliced image.
NineTileBoxComponent
This class is a thin wrapper on top of NineTileBox as a component.
Obb3
Defines a 3-dimensional oriented bounding box defined with a center, halfExtents and axes.
ParallaxComponent<T extends FlameGame>
A full parallax, several layers of images drawn out on the screen and each layer moves with different velocities to give an effect of depth.
ParticleComponent
Base container for Particle instances to be attach to a Component tree. Could be added either to FlameGame or an implementation of Component. Proxies Component lifecycle hooks to nested Particle.
Plane
Player
PolygonComponent
PolygonShape
PositionComponent
A Component implementation that represents an object that can be freely moved around the screen, rotated, and scaled.
Quad
Defines a quad by four points.
Quaternion
Defines a Quaternion (a four-dimensional vector) for efficient rotation calculations.
Ray
Defines a Ray by an origin and a direction.
RectangleComponent
RectangleShape
RotationEnemy
Enemy used for top-down perspective
RotationPlayer
Say
ScreenCollidable<T extends FlameGame>
ShapeComponent
A ShapeComponent is a Shape wrapped in a PositionComponent so that it can be added to a component tree and take the camera and viewport into consideration when rendering.
SimpleDirectionAnimation
Class responsible to manager animation on SimplePlayer and SimpleEnemy
SimpleEnemy
Enemy with animation in all direction
SimplePlayer
SimplexNoise
Sphere
Defines a sphere with a center and a radius.
Sprite
A Sprite is a region of an Image that can be rendered in the Canvas.
SpriteAnimation
Represents a sprite animation, that is, a list of sprites that change with time.
SpriteAnimationComponent
SpriteAnimationData
SpriteAnimationFrame
Represents a single sprite animation frame.
SpriteAnimationFrameData
SpriteAnimationGroupComponent<T>
SpriteAnimationWidget
A StatelessWidget that renders a SpriteAnimation
SpriteBatch
The SpriteBatch API allows for rendering multiple items at once.
SpriteBatchComponent
SpriteButton
A StatelessWidget that uses SpriteWidgets to render a pressable button
SpriteComponent
A PositionComponent that renders a single Sprite at the designated position, scaled to have the designated size and rotated to the specified angle.
SpriteGroupComponent<T>
A PositionComponent that can have mutiple Sprites and render the one mapped with the current key.
SpriteSheet
Utility class to help extract animations and sprites from a sprite sheet image.
SpriteWidget
A StatelessWidget which renders a Sprite To render an animation, use SpriteAnimationWidget.
TalkDialog
TextBoxComponent<T extends TextRenderer>
TextBoxConfig
A set of configurations for the TextBoxComponent itself, as opposed to the TextRenderer, which contains the configuration for how to render the text only (font size, color, family, etc).
TextComponent<T extends TextRenderer>
TextDamageComponent
TextInterfaceComponent
Component used to add Text in your GameInterface
TextPaint
It does not hold information regarding the position of the text to be rendered, nor does it contain the text itself (the string). To use that information, use the TextComponent, which uses TextPaint.
TextRenderer
TextRenderer is the abstract API that Flame uses for rendering text. This class can be extended to provide another implementation of text rendering in the engine.
Tile
TiledWorldMap
TileModel
TileModelAnimation
TileModelSprite
TileWithCollision
Timer
Simple utility class that helps handling time counting and implementing interval like events.
TimerComponent
A component that uses a Timer instance which you can react to when it has finished.
Triangle
Defines a triangle by three points.
ValueGeneratorComponent
Vector
Base class for vectors
Vector2
2D column vector.
Vector2Rect
Flame v1 relies a lot on Vector2 for position and dimensions Bonfire instead relies a lot on Rect internally. this class serves as a bridge between the two frameworks.
Vector3
3D column vector.
Vector4
4D column vector.

Mixins

Attackable
Mixin responsible for adding damage-taking behavior to the component.
AutomaticRandomMovement
Mixin responsible for adding random movement like enemy walking through the scene
BonfireHasGameRef
Collidable
Draggable
DragGesture
HasCollidables
Keeps track of all the Collidables in the component tree and initiates collision detection every tick.
HasDraggables
HasHitboxes
HasHoverables
HasPaint<T extends Object>
Adds a collection of paints to a component
HasTappables
Hoverable
JoystickListener
Lighting
Mixin used to configure lighting in your component
MouseGesture
Mixin responsible to listen mouse gestures
Movement
Mixin responsible for adding movements
MovementByJoystick
Mixin responsible for adding movements through joystick events
MoveToPositionAlongThePath
Mixin responsible for find path using a_star_algorithm and moving the component through the path
ObjectCollision
Mixin responsible for adding collision
Sensor
Mixin responsible for adding trigger to detect other objects above
SingleChildParticle
Implements basic behavior for nesting Particle instances into each other.
TapGesture
Tappable

Constants

degrees2Radians → const double
Constant factor to convert and angle from degrees to radians.
radians2Degrees → const double
Constant factor to convert and angle from radians to degrees.

Functions

absoluteError(dynamic calculated, dynamic correct) double
Returns absolute error between calculated and correct. The type of calculated and correct must match and can be any vector, matrix, or quaternion.
buildPlaneVectors(Vector3 planeNormal, Vector3 u, Vector3 v) → void
Sets u and v to be two vectors orthogonal to each other and planeNormal.
catmullRom(double edge0, double edge1, double edge2, double edge3, double amount) double
Do a catmull rom spline interpolation with edge0, edge1, edge2 and edge3 by amount.
cross2(Vector2 x, Vector2 y) double
2D cross product. vec2 x vec2.
cross2A(double x, Vector2 y, Vector2 out) → void
2D cross product. double x vec2.
cross2B(Vector2 x, double y, Vector2 out) → void
2D cross product. vec2 x double.
cross3(Vector3 x, Vector3 y, Vector3 out) → void
3D Cross product.
degrees(double radians) double
Convert radians to degrees.
dot2(Vector2 x, Vector2 y) double
2D dot product.
dot3(Vector3 x, Vector3 y) double
3D dot product.
getRectAndCollision(GameComponent? comp) Vector2Rect
Gets player position used how base in calculations
makeFrustumMatrix(double left, double right, double bottom, double top, double near, double far) Matrix4
Constructs a new OpenGL perspective projection matrix.
makeInfiniteMatrix(double fovYRadians, double aspectRatio, double zNear) Matrix4
Constructs a new OpenGL infinite projection matrix.
makeOrthographicMatrix(double left, double right, double bottom, double top, double near, double far) Matrix4
Constructs a new OpenGL orthographic projection matrix.
makePerspectiveMatrix(double fovYRadians, double aspectRatio, double zNear, double zFar) Matrix4
Constructs a new OpenGL perspective projection matrix.
makePlaneProjection(Vector3 planeNormal, Vector3 planePoint) Matrix4
Returns a transformation matrix that transforms points onto the plane specified with planeNormal and planePoint.
makePlaneReflection(Vector3 planeNormal, Vector3 planePoint) Matrix4
Returns a transformation matrix that transforms points by reflecting them through the plane specified with planeNormal and planePoint.
makeViewMatrix(Vector3 cameraPosition, Vector3 cameraFocusPosition, Vector3 upDirection) Matrix4
Constructs a new OpenGL view matrix.
mix(double min, double max, double a) double
Interpolate between min and max with the amount of a using a linear interpolation. The computation is equivalent to the GLSL function mix.
pickRay(Matrix4 cameraMatrix, num viewportX, num viewportWidth, num viewportY, num viewportHeight, num pickX, num pickY, Vector3 rayNear, Vector3 rayFar) bool
On success, rayNear and rayFar are the points where the screen space pickX, pickY intersect with the near and far planes respectively.
radians(double degrees) double
Convert degrees to radians.
relativeError(dynamic calculated, dynamic correct) double
Returns relative error between calculated and correct. The type of calculated and correct must match and can be any vector, matrix, or quaternion.
renderSpriteByRadAngle(Canvas canvas, double radAngle, Vector2Rect position, Sprite sprite, {double opacity = 1.0}) → void
setFrustumMatrix(Matrix4 perspectiveMatrix, double left, double right, double bottom, double top, double near, double far) → void
Constructs an OpenGL perspective projection matrix in perspectiveMatrix.
setInfiniteMatrix(Matrix4 infiniteMatrix, double fovYRadians, double aspectRatio, double zNear) → void
Constructs an OpenGL infinite projection matrix in infiniteMatrix. fovYRadians specifies the field of view angle, in radians, in the y direction. aspectRatio specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio of x (width) to y (height). zNear specifies the distance from the viewer to the near plane (always positive).
setModelMatrix(Matrix4 modelMatrix, Vector3 forwardDirection, Vector3 upDirection, double tx, double ty, double tz) → void
Constructs an OpenGL model matrix in modelMatrix. Model transformation is the inverse of the view transformation. Model transformation is also known as "camera" transformation. Model matrix is commonly used to compute a object location/orientation into the full model-view stack.
setOrthographicMatrix(Matrix4 orthographicMatrix, double left, double right, double bottom, double top, double near, double far) → void
Constructs an OpenGL orthographic projection matrix in orthographicMatrix.
setPerspectiveMatrix(Matrix4 perspectiveMatrix, double fovYRadians, double aspectRatio, double zNear, double zFar) → void
Constructs an OpenGL perspective projection matrix in perspectiveMatrix.
setRotationMatrix(Matrix4 rotationMatrix, Vector3 forwardDirection, Vector3 upDirection) → void
Constructs a rotation matrix in rotationMatrix.
setViewMatrix(Matrix4 viewMatrix, Vector3 cameraPosition, Vector3 cameraFocusPosition, Vector3 upDirection) → void
Constructs an OpenGL view matrix in viewMatrix. View transformation is the inverse of the model transformation. View matrix is commonly used to compute the camera location/orientation into the full model-view stack.
smoothStep(double edge0, double edge1, double amount) double
Do a smooth step (hermite interpolation) interpolation with edge0 and edge1 by amount. The computation is equivalent to the GLSL function smoothstep.
unproject(Matrix4 cameraMatrix, num viewportX, num viewportWidth, num viewportY, num viewportHeight, num pickX, num pickY, num pickZ, Vector3 pickWorld) bool
On success, Sets pickWorld to be the world space position of the screen space pickX, pickY, and pickZ.

Typedefs

ObjectBuilder = GameComponent Function(TiledObjectProperties properties)
OnCompleteSpriteAnimation = void Function()