just_game_engine library

Just Game Engine for Flutter

A comprehensive game engine package for Flutter providing core game development features.

This is the main entry point for the Just Game Engine. Import this library to access all engine functionality.

Example usage:

import 'package:just_game_engine/just_game_engine.dart';

void main() async {
  final engine = Engine();
  await engine.initialize();
  engine.start();
}

Classes

Animation
Base class for all animations
AnimationGroup
Parallel animations
AnimationSequence
Sequence of animations
AnimationStateComponent
Animation state component - Tracks current animation
AnimationSystem
Main animation system class
AnimationSystemECS
Animation system - Updates animation state
Asset
Base class for all assets
AssetBundle
Asset bundle for grouped loading
AssetLoader
Base asset loader interface
AssetManager
Main asset manager class
AudioAsset
Audio asset (placeholder for audio data)
AudioAssetLoader
Audio asset loader
AudioClip
Represents an audio clip
AudioEngine
Main audio engine class
AudioMixer
Audio mixer for volume control
BinaryAsset
Binary asset
BinaryAssetLoader
Binary asset loader
BoundarySystem
Boundary system - Keeps entities within bounds
Camera
Camera class for controlling the viewport
ChildrenComponent
Children component - Tracks child entities
CircleRenderable
A renderable circle shape
CollisionDetector
Handles collision detection between objects
CollisionShape
Base class for collision shapes
ColorTween
Color tween for color transitions
Component
Base class for all components
ControllerInput
Handles game controller/gamepad input
CustomRenderable
A custom renderable that uses a callback for rendering
Easings
Common easing functions
Engine
Main game engine class that orchestrates all subsystems
Entity
Entity - A container for components
ForceManager
Manages gravity and other physical forces
GameLoop
Main game loop implementation
GameObject
Base class for game objects in a scene
GamepadAxis
Gamepad axis identifiers
GamepadButton
Gamepad button identifiers
GameWidget
Main game widget that renders the game
HealthComponent
Health component - HP system
HealthSystem
Health system - Handles death and health regeneration
HierarchySystem
Parent-child system - Updates child transforms based on parents
IEnableable
Interface for systems that can be enabled/disabled
ILifecycle
Interface for objects with lifecycle management
ImageAsset
Image/Texture asset
ImageAssetLoader
Image asset loader
InputComponent
Input component - Tracks input state for an entity
InputManager
Main input manager class
IPausable
Interface for systems that can be paused
IRenderable
Interface for systems that can be rendered
IUpdatable
Interface for systems that can be updated every frame
JsonAsset
JSON asset
JsonAssetLoader
JSON asset loader
KeyboardInput
Handles keyboard input
LifetimeComponent
Lifetime component - Entity that expires after time
LifetimeSystem
Lifetime system - Destroys expired entities
LineRenderable
A renderable line
MouseButton
Mouse button constants
MouseInput
Handles mouse input
MovementSystem
Movement system - Applies velocity to transform
MusicManager
Music manager (convenience wrapper)
NetworkClient
Handles client-side networking
NetworkManager
Main networking class
NetworkProtocol
Handles network protocols
NetworkServer
Handles server-side networking
NetworkSync
Manages network synchronization
NineSliceSprite
Nine-slice sprite for UI elements
OpacityTween
Opacity tween for fading objects
ParentComponent
Parent-child component - Hierarchy relationships
Particle
Individual particle
ParticleEffects
Predefined particle effects
ParticleEmitter
Particle emitter that creates and manages particles
PhysicsBody
Physics body
PhysicsBodyComponent
Physics body component - Collision and physics properties
PhysicsEngine
Main physics engine class
PhysicsSystemECS
Physics system - Handles physics simulation for ECS entities
PositionTween
Position tween for moving objects
RectangleRenderable
A renderable rectangle shape
Renderable
Base class for all renderable objects
RenderableComponent
Renderable component - Links to a Renderable object
RenderingEngine
Main rendering engine class responsible for graphics rendering
RenderSystem
Render system - Renders entities with renderables
RigidBody
Represents a rigid body in the physics simulation
RotationTween
Rotation tween for rotating objects
ScaleTween
Scale tween for scaling objects
Scene
Represents a scene/level in the game
SceneEditor
Main scene editor class
SceneGraph
Manages object hierarchy and transforms
SceneNode
Node in the scene graph (hierarchical)
SessionManager
Manages player sessions
SoundEffectManager
Sound effect manager (convenience wrapper)
Sprite
A sprite that can be rendered
SpriteAnimation
Sprite animation for frame-based animations
SpriteComponent
Sprite component - Sprite rendering data
SpriteSheet
Sprite sheet for managing multiple sprites from one image
System
Base class for all systems
SystemManager
System manager for coordinating engine subsystems
TagComponent
Tag component - Simple marker component
TextAsset
Text asset
TextAssetLoader
Text asset loader
TextRenderable
A renderable text label
TimeManager
Time management system for the game engine
TouchInput
Handles touchscreen input
TouchPoint
Touch point information
TransformComponent
Transform component - Position, rotation, and scale
TweenAnimation<T>
Tween animation for interpolating values
VelocityComponent
Velocity component - Linear velocity
World
ECS World - Manages all entities and systems

Enums

AssetType
Asset types supported by the engine
AudioChannel
Audio channel types
AudioFormat
Audio format types
AudioState
Audio playback state
BoundaryBehavior
Boundary behavior options
EngineState
Engine state enumeration
ParticleShape
Particle shape enum

Mixins

LifecycleStateMixin
Mixin for adding lifecycle state tracking

Properties

easeInCubic Easing
final
easeInOutCubic Easing
final
easeInOutQuad Easing
final
easeInQuad Easing
final
easeOutCubic Easing
final
easeOutQuad Easing
final
linear Easing
final

Typedefs

Easing = double Function(double t)
Easing functions for smooth animations
EntityId = int
Unique identifier for an entity
RenderCallback = void Function()
Type definition for render callback
UpdateCallback = void Function(double deltaTime)
Type definition for update callback

Exceptions / Errors

AssetLoadException
Asset loading exception