mirror of
https://codeberg.org/demostf/parser.git
synced 2026-06-03 18:24:05 +02:00
explicit event type to event message
This commit is contained in:
parent
8da83b7df8
commit
c08f30a60c
1 changed files with 5 additions and 0 deletions
|
|
@ -13,6 +13,7 @@ use crate::{GameEventError, Parse, ParseError, ParserState, ReadResult, Result,
|
||||||
#[derive(Debug, PartialEq, Serialize, Deserialize, Clone)]
|
#[derive(Debug, PartialEq, Serialize, Deserialize, Clone)]
|
||||||
pub struct GameEventMessage {
|
pub struct GameEventMessage {
|
||||||
pub event_type_id: GameEventTypeId,
|
pub event_type_id: GameEventTypeId,
|
||||||
|
pub event_type: GameEventType,
|
||||||
pub event: GameEvent,
|
pub event: GameEvent,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -26,6 +27,7 @@ impl Parse<'_> for GameEventMessage {
|
||||||
if state.event_definitions.is_empty() {
|
if state.event_definitions.is_empty() {
|
||||||
return Ok(GameEventMessage {
|
return Ok(GameEventMessage {
|
||||||
event_type_id,
|
event_type_id,
|
||||||
|
event_type: GameEventType::Unknown(String::new()),
|
||||||
event: GameEvent::Unknown(RawGameEvent {
|
event: GameEvent::Unknown(RawGameEvent {
|
||||||
event_type: GameEventType::Unknown(String::new()),
|
event_type: GameEventType::Unknown(String::new()),
|
||||||
values: Vec::new(),
|
values: Vec::new(),
|
||||||
|
|
@ -43,6 +45,7 @@ impl Parse<'_> for GameEventMessage {
|
||||||
};
|
};
|
||||||
Ok(GameEventMessage {
|
Ok(GameEventMessage {
|
||||||
event_type_id,
|
event_type_id,
|
||||||
|
event_type: event.event_type(),
|
||||||
event,
|
event,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
@ -94,6 +97,7 @@ fn test_game_event_roundtrip() {
|
||||||
crate::test_roundtrip_encode(
|
crate::test_roundtrip_encode(
|
||||||
GameEventMessage {
|
GameEventMessage {
|
||||||
event_type_id: GameEventTypeId(0),
|
event_type_id: GameEventTypeId(0),
|
||||||
|
event_type: GameEventType::ServerShutdown,
|
||||||
event: GameEvent::ServerShutdown(ServerShutdownEvent {
|
event: GameEvent::ServerShutdown(ServerShutdownEvent {
|
||||||
reason: "asd".into(),
|
reason: "asd".into(),
|
||||||
}),
|
}),
|
||||||
|
|
@ -103,6 +107,7 @@ fn test_game_event_roundtrip() {
|
||||||
crate::test_roundtrip_encode(
|
crate::test_roundtrip_encode(
|
||||||
GameEventMessage {
|
GameEventMessage {
|
||||||
event_type_id: GameEventTypeId(2),
|
event_type_id: GameEventTypeId(2),
|
||||||
|
event_type: GameEventType::GameInit,
|
||||||
event: GameEvent::GameInit(GameInitEvent {}),
|
event: GameEvent::GameInit(GameInitEvent {}),
|
||||||
},
|
},
|
||||||
&state,
|
&state,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue