mirror of
https://codeberg.org/demostf/parser.git
synced 2026-06-04 02:24:12 +02:00
GameEvent::event_type
This commit is contained in:
parent
a25a1c4d76
commit
50db542080
4 changed files with 583 additions and 45 deletions
|
|
@ -317,6 +317,13 @@ pub fn generate_game_events(demo: Demo) -> TokenStream {
|
|||
quote!(GameEventType::#variant_name => #name_str,)
|
||||
});
|
||||
|
||||
let to_types = events.iter().map(|event| {
|
||||
let name = get_event_name(event.event_type.as_str());
|
||||
let variant_name = Ident::new(&name, span);
|
||||
|
||||
quote!(GameEvent::#variant_name(_) => GameEventType::#variant_name,)
|
||||
});
|
||||
|
||||
let read_events = events.iter().map(|event| {
|
||||
let name = get_event_name(event.event_type.as_str());
|
||||
let variant_name = Ident::new(&name, span);
|
||||
|
|
@ -425,6 +432,12 @@ pub fn generate_game_events(demo: Demo) -> TokenStream {
|
|||
GameEvent::Unknown(raw) => raw.write(stream),
|
||||
}
|
||||
}
|
||||
pub fn event_type(&self) -> GameEventType {
|
||||
match &self {
|
||||
#(#to_types)*
|
||||
GameEvent::Unknown(raw) => raw.event_type.clone(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub fn get_sizes() -> fnv::FnvHashMap<&'static str, usize> {
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ impl MessageHandler for PropAnalyzer {
|
|||
&mut self,
|
||||
parse_tables: &[ParseSendTable],
|
||||
_server_classes: &[ServerClass],
|
||||
_state: &ParserState,
|
||||
) {
|
||||
let mut numeric_tables: FnvHashMap<String, usize> = HashMap::default();
|
||||
for table in parse_tables {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue