1
2
3
4
5
6
7
8
9
10
11
12
use arci::gamepad::GamepadEvent;
use async_trait::async_trait;
use auto_impl::auto_impl;

#[async_trait]
#[auto_impl(Box)]
pub trait ControlMode: Send + Sync {
    fn handle_event(&self, event: GamepadEvent);
    async fn proc(&self);
    fn mode(&self) -> &str;
    fn submode(&self) -> String;
}