Trait usiagent::event::EventDispatcher[][src]

pub trait EventDispatcher<'b, K, E, T, UE> where
    K: MaxIndex + Debug,
    E: MapEventKind<K> + Debug,
    UE: PlayerError,
    EventHandlerError<K, UE>: From<UE>,
    usize: From<K>, 
{ fn add_handler<F>(&mut self, id: K, handler: F)
    where
        F: FnMut(&T, &E) -> Result<(), EventHandlerError<K, UE>> + 'b
;
fn add_once_handler<F>(&mut self, id: K, handler: F)
    where
        F: FnMut(&T, &E) -> Result<(), EventHandlerError<K, UE>> + 'b
;
fn dispatch_events<'a>(
        &mut self,
        ctx: &T,
        event_queue: &'a Mutex<EventQueue<E, K>>
    ) -> Result<(), EventDispatchError<'a, EventQueue<E, K>, E, UE>>
    where
        E: Debug,
        K: Debug,
        UE: Error + Debug,
        EventHandlerError<K, UE>: From<UE>,
        usize: From<K>
; }
Expand description

イベントディスパッチャ

Required methods

イベントハンドラの追加

Arguments
  • id - イベント種別
  • handler - イベントハンドラ
Errors

この関数は以下のエラーを返すケースがあります。

一度だけ実行されるイベントハンドラの追加

Arguments
  • id - イベント種別
  • handler - イベントハンドラ
Errors

この関数は以下のエラーを返すケースがあります。

イベントのディスパッチ

Arguments
  • ctx - コンテキストオブジェクト
  • event_queue - イベントキュー
Errors

この関数は以下のエラーを返すケースがあります。

Implementors