1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! Modules organize components, systems and more in reusable units of code.
//!
//! * To define a module, see [`Module`].
//! * To import a module, see [`World::import()`].
//! * To override the name of a module, see [`World::module()`].
use crate*;
/// Define a module
///
/// # Examples:
///
/// ```
/// # use flecs_ecs::prelude::*;
/// #[derive(Component)]
/// struct MyModule;
///
/// impl Module for MyModule {
/// fn module(world: &World) {
/// world.module::<MyModule>("MyModule");
///
/// // Define components, systems, triggers, ... as usual. They will be
/// // automatically created inside the scope of the module.
/// }
/// }
/// ```
///
/// # See also
///
/// * [`addons::module`](crate::addons::module)
/// * [`World::import()`]
/// * [`World::module()`]