summaryrefslogtreecommitdiff
path: root/engine/src/input.rs
blob: f8c9dfd97046f65865513252379eb323397ffa62 (plain)
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
use ecs::declare_entity;
use ecs::extension::Collector as ExtensionCollector;
use ecs::pair::{DependsOn, Pair};
use ecs::phase::Phase;

use crate::windowing::PHASE as WINDOWING_PHASE;

pub mod keyboard;
pub mod mouse;

declare_entity!(
    pub PHASE,
    (
        Phase,
        Pair::builder()
            .relation::<DependsOn>()
            .target_id(*WINDOWING_PHASE)
            .build()
    )
);

/// Input extension.
#[derive(Debug, Default)]
pub struct Extension {}

impl ecs::extension::Extension for Extension
{
    fn collect(self, _collector: ExtensionCollector<'_>)
    {
        // TODO: Add input mapping
    }
}