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