Crate zengine

Source
Expand description

ZENgine is a simple open-source modular game engine built in Rust for didactical purpose

§Example

Here is a simple “Hello World” ZENgine app:

use zengine::Engine;

fn main() {
   Engine::default()
       .add_system(hello_world_system)
       .run();
}

fn hello_world_system() {
   println!("hello world");
}

§This Crate

The zengine crate is a container crate that makes it easier to consume ZENgine subcrates.

If you prefer, you can also consume the individual ZENgine crates directly. Each module in the root of this crate, can be found on crates.io with zengine_ appended to the front, e.g. engine -> zengine_engine.

Modules§

asset
Load and store Assets for the Engine.
audio
Provides types and module for audio playback.
core
Core functionalities.
ecs
Entity-component-system.
gamepad
ZENgine interface with GilRs - “Game Input Library for Rust” - to handle gamepad inputs.
graphic
Graphics functionlities. eg: Camera, Texture, Render, Sprite.
input
Resources and events for inputs
log
A lightweight logging facade.
math
Math types.
physics
Collision system and shapes
window
Creation, configuration and management of the main window.

Structs§

Engine
A container of engine logic and data.

Enums§

EngineEvent
List of all engine events
Stage
The possible stages in the engine pipeline

Traits§

Module
A collection of engine logics and configurations.

Attribute Macros§

zengine_main
Generate the required Android boilerplate.

Derive Macros§

Asset
Generates an impl of the Asset trait.
Component
Generates an impl of the Component trait.
InputType
Generates an impl of the InputType trait.
Resource
Generates an impl of the Resource trait.
UnsendableResource
Generates an impl of the UnsendableResource trait.