2 个版本
0.1.1 | 2022年12月2日 |
---|---|
0.1.0 | 2022年12月2日 |
#100 在 #event
4KB
事件系统
为 Rust 提供一个简单轻量级的事件系统。
示例
宏的第一个条目是事件系统结构体的名称。
任何后续条目采用结构-枚举变体的形式,其中名称是事件名称,数据是事件触发时的有效负载结构。
use event_system::create_event_system;
create_event_system! {
EventSystem // <- Name of struct
ApplicationLoad {}
ApplicationExit {}
KeyDown {
key: u8,
}
}
fn main() {
let mut events = EventSystem::new();
events.register_key_down(key_down);
events.fire_application_load();
events.fire_key_down(EventKeyDown { key: 55 });
events.fire_application_exit();
}
fn key_down(packet: EventKeyDown) -> bool {
println!("Key down {:?}", packet.key);
true
}
依赖项
~2MB
~44K SLoC