Make Seed a component

Conceptually it works better as a resource, but that's an extra layer of complexity for the upcoming automatic distribution work.
This commit is contained in:
Michael Bradley 2025-07-06 17:47:19 -04:00
parent 9ab8db41de
commit d89d539f3b
Signed by: MichaelBradley
SSH key fingerprint: SHA256:o/aaeYtRubILK7OYYjYP12DmU7BsPUhKji1AgaQ+ge4
5 changed files with 15 additions and 29 deletions

View file

@ -2,17 +2,9 @@ use bevy::prelude::*;
use crate::net::prelude::*;
use super::seed::Seed;
pub fn handle_new_peer(
seed: Option<Res<Seed>>,
new_peers: Query<&Peer, Added<Peer>>,
mut outbound: EventWriter<OutboundPacket>,
) {
if let Some(seed) = seed {
for peer in new_peers {
outbound.write(OutboundPacket(Packet::new((*seed).into(), peer.uuid)));
}
pub fn handle_new_peer(new_peers: Query<&Peer, Added<Peer>>) {
for peer in new_peers {
info!("Peer {} was added", peer.uuid);
}
}
@ -27,12 +19,8 @@ pub fn handle_deleted_peer(mut old_peers: RemovedComponents<Peer>, peers: Query<
Ok(())
}
pub fn handle_incoming_packets(mut packets: EventReader<InboundPacket>, mut commands: Commands) {
pub fn handle_incoming_packets(mut packets: EventReader<InboundPacket>) {
for packet in packets.read() {
if let Ok(seed) = packet.0.message.clone().try_into() {
commands.insert_resource::<Seed>(seed);
} else {
info!("Packet not seed: {:?}", packet.0.message);
}
info!("Packet received: {:?}", packet.0.message);
}
}