summaryrefslogtreecommitdiff
path: root/ecs/src/event/component.rs
blob: e8b955982868f03ac4eefa11d79eb2a39c062e2d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//! Component events.

use std::convert::Infallible;

use crate::Component;

/// Pair relation for events emitted when:
/// a) A entity with the target component is spawned.
/// b) The target component is added to a entity.
#[derive(Debug, Component)]
pub struct Added(Infallible);

/// Pair relation for events emitted when:
/// a) The target component is removed from a entity.
/// b) A entity with the target component is despawned.
#[derive(Debug, Component)]
pub struct Removed(Infallible);

#[derive(Debug, Component)]
pub struct Changed(Infallible);