bevy_sync 0.19.0

Plugin for synchronizing entities and components between server and its clients.
Documentation
use tracing::debug;

use crate::proto::Message;

#[derive(Debug, Clone, Copy)]
pub(crate) enum Who {
    Server,
    Client,
}

pub(crate) fn log_message_received(from: Who, message: &Message) {
    match message {
        Message::EntitySpawn { uuid } => {
            debug!("{:?} received EntitySpawn {{ id: {} }}", from, uuid);
        }
        Message::EntityParented {
            entity_uuid: eid,
            parent_uuid: pid,
        } => debug!(
            "{:?} received EntityParented {{ eid: {}, pid: {} }}",
            from, eid, pid,
        ),
        Message::EntityDelete { uuid } => {
            debug!("{:?} received EntityDelete {{ id: {} }}", from, uuid,);
        }
        Message::ComponentUpdated {
            uuid,
            name,
            data: _,
        } => {
            debug!(
                "{:?} received ComponentUpdated {{ id: {}, name: {} }}",
                from, uuid, name
            );
        }
        Message::StandardMaterialUpdated { uuid, material: _ } => {
            debug!(
                "{:?} received StandardMaterialUpdated {{ uuid: {} }}",
                from, uuid
            );
        }
        Message::RequestInitialSync { from_uuid: _ } => debug!(
            "Received a request for initial sync from client_id: {:?}",
            from
        ),
        Message::FinishedInitialSync => {
            debug!("Received FinishedInitialSync from client_id: {:?}", from);
        }
        Message::ComponentNameUpdated { uuid, data } => {
            debug!(
                "Received ComponentNameUpdated from client_id: {:?}, for uuid: {}, value: {}",
                from, uuid, data
            );
        }
    }
}