1
0
Fork 0
mirror of https://codeberg.org/demostf/parser.git synced 2026-06-04 02:24:12 +02:00
This commit is contained in:
Robin Appelman 2021-07-25 17:04:50 +02:00
commit 43b7270fcd
29 changed files with 3818 additions and 76 deletions

View file

@ -230,6 +230,8 @@ pub fn generate_game_events(demo: Demo) -> TokenStream {
use crate::{ParseError, Result};
use bitbuffer::{BitRead, LittleEndian, BitWrite, BitWriteStream};
use serde::{Deserialize, Serialize};
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*;
);
let event_definitions = events.iter().map(|event| {
@ -264,6 +266,10 @@ pub fn generate_game_events(demo: Demo) -> TokenStream {
};
quote!(
#[cfg_attr(
feature = "wasm",
derive(wasm_typescript_definition::TypescriptDefinition)
)]
#[derive(Debug, BitWrite, PartialEq, Serialize, Deserialize)]
pub struct #name {
#(#fields)*
@ -379,12 +385,21 @@ pub fn generate_game_events(demo: Demo) -> TokenStream {
#(#event_definitions)*
#[cfg_attr(
feature = "wasm",
derive(wasm_typescript_definition::TypescriptDefinition)
)]
#[derive(Debug, PartialEq, Serialize, Deserialize)]
pub enum GameEvent {
#(#event_variants)*
Unknown(RawGameEvent),
}
#[cfg_attr(
feature = "wasm",
derive(wasm_typescript_definition::TypescriptDefinition)
)]
#[derive(Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub enum GameEventType {
#(#event_types)*