record-daemon: fix gamephase event handling
This commit is contained in:
@@ -33,11 +33,27 @@ pub enum GameEvent {
|
||||
#[serde(rename = "lcu-game-end")]
|
||||
GameEnd(GameEndInfo),
|
||||
|
||||
/// Gameflow phase changed.
|
||||
#[serde(rename = "lcu-phase-change")]
|
||||
PhaseChange(PhaseChangeInfo),
|
||||
|
||||
/// Unknown event type.
|
||||
#[serde(other)]
|
||||
Unknown,
|
||||
}
|
||||
|
||||
/// Phase change event data.
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct PhaseChangeInfo {
|
||||
/// The new phase.
|
||||
pub phase: String,
|
||||
|
||||
/// Timestamp when phase changed.
|
||||
#[serde(default = "Utc::now")]
|
||||
pub timestamp: DateTime<Utc>,
|
||||
}
|
||||
|
||||
/// Match found event data.
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
@@ -314,6 +330,9 @@ impl GameEvent {
|
||||
let result = if end.victory { "Victory" } else { "Defeat" };
|
||||
format!("Game ended: {} ({:.1}s)", result, end.duration)
|
||||
}
|
||||
GameEvent::PhaseChange(info) => {
|
||||
format!("Phase changed to: {}", info.phase)
|
||||
}
|
||||
GameEvent::Unknown => "Unknown event".to_string(),
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user