~starkingdoms/starkingdoms

ref: c7da20800d035a6491e612693b2039aa99988c15 starkingdoms/crates/unified/src/server/net/update_parts.rs -rw-r--r-- 1020 bytes
c7da2080 — core netcode: easing 6 days ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
use std::collections::BTreeSet;
use avian2d::prelude::{AngularVelocity, LinearVelocity};
use bevy::prelude::{Added, Changed, Commands, MessageWriter, Query, Ref};
use crate::prelude::{debug, Entity, ParamSet, Transform};
use crate::shared::ecs::{Part, Temperature};
use crate::shared::net::part::{PartDto};
use crate::shared::net::staged_transform::LastStagedTransform;
use crate::shared::net::{SendTargets, ToClients};
pub fn send_updated_parts(
    parts: Query<(Entity, Ref<Part>, Ref<Transform>, Ref<Temperature>, Ref<LinearVelocity>, Ref<AngularVelocity>)>,
    mut messages: MessageWriter<ToClients<PartDto>>
) {
    for part in parts {
        messages.write(ToClients {
            message: PartDto {
                server_entity: part.0,
                part: part.1.into(),
                transform: part.2.into(),
                temperature: part.3.into(),
                linvel: part.4.into(),
                angvel: part.5.into()
            },
            targets: SendTargets::All
        });
    }
}