use serde::{Deserialize, Serialize};
use std::str::Utf8Error;
#[derive(Debug, thiserror::Error)]
pub enum MessageEventError {
#[error("Unsupported Event Type")]
UnsupportedEventType,
#[error("Utf8 conversion error")]
Utf8Error(#[from] Utf8Error),
}
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
pub struct MessageEvent {
pub delta: i64,
pub user_id: i64,
pub event: ReplayMessageEvent,
}
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
pub enum ReplayMessageEvent {
EChat(ChatMessage),
}
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
pub struct ChatMessage {
pub m_recipient: GameEMessageRecipient,
pub m_string: String,
}
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
pub enum GameEMessageRecipient {
EAll,
EAllies,
EIndividual,
EBattlenet,
EObservers,
}