use bevy::prelude::*;
use serde::{Deserialize, Serialize};
use bevy_spicy_networking::{ClientMessage, NetworkMessage, ServerMessage};
#[derive(Serialize, Deserialize, Clone, Debug)]
pub struct UserChatMessage {
pub message: String,
}
#[typetag::serde]
impl NetworkMessage for UserChatMessage {}
impl ServerMessage for UserChatMessage {
const NAME: &'static str = "example:UserChatMessage";
}
#[derive(Serialize, Deserialize, Clone, Debug)]
pub struct NewChatMessage {
pub name: String,
pub message: String,
}
#[typetag::serde]
impl NetworkMessage for NewChatMessage {}
impl ClientMessage for NewChatMessage {
const NAME: &'static str = "example:NewChatMessage";
}
#[allow(unused)]
pub fn client_register_network_messages(app: &mut AppBuilder) {
use bevy_spicy_networking::AppNetworkClientMessage;
app.listen_for_client_message::<NewChatMessage>();
}
#[allow(unused)]
pub fn server_register_network_messages(app: &mut AppBuilder) {
use bevy_spicy_networking::AppNetworkServerMessage;
app.listen_for_server_message::<UserChatMessage>();
}