use bevy_ecs::message::Message as BevyMessage;
use crate::Message;
use crate::ClientId;
use std::marker::PhantomData;
#[derive(BevyMessage)]
pub struct SessionConnectedEvent<T: Message> {
pub(crate) _t: PhantomData<T>,
}
#[derive(BevyMessage)]
pub struct SessionDisconnectedEvent<T: Message> {
pub(crate) _t: PhantomData<T>,
}
#[derive(BevyMessage)]
pub struct ClientJoined<T: Message> {
pub client: ClientId,
pub(crate) _t: PhantomData<T>,
}
#[derive(BevyMessage)]
pub struct ClientLeft<T: Message> {
pub client: ClientId,
pub(crate) _t: PhantomData<T>,
}
#[derive(BevyMessage)]
pub struct MessageReceivedEvent<T: Message> {
pub message: Box<T>,
pub(crate) _t: PhantomData<T>,
}