From 46f00e2047b999e74771669377e30843ca838406 Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sat, 18 Oct 2025 17:49:56 -0400 Subject: [PATCH] Convert game loggers to observers These functions don't really do anything, I just want to have the code in place for reference --- src/game/net.rs | 24 ++++++++---------------- src/game/plugin.rs | 15 +++++---------- 2 files changed, 13 insertions(+), 26 deletions(-) diff --git a/src/game/net.rs b/src/game/net.rs index 2c68886..5eb3538 100644 --- a/src/game/net.rs +++ b/src/game/net.rs @@ -2,28 +2,20 @@ use bevy::prelude::*; use crate::net::prelude::*; -pub fn handle_new_peer(new_peers: Query<&PeerID, Added>) { - for peer in new_peers { - info!("Peer {} was added", peer.id); - } +pub fn handle_new_peer(add: On, peers: Query<&PeerID>) -> Result { + let peer = peers.get(add.entity)?; + info!("Game: Peer {} was added", peer.id); + Ok(()) } -pub fn handle_deleted_peer( - mut old_peers: RemovedComponents, - peers: Query<&PeerID>, -) -> Result { - for entity in old_peers.read() { - if let Ok(peer) = peers.get(entity) { - info!("Peer {} was removed", peer.id); - } else { - info!("Peer {} was removed", entity); - } - } +pub fn handle_deleted_peer(remove: On, peers: Query<&PeerID>) -> Result { + let peer = peers.get(remove.entity)?; + info!("Game: Peer {} was removed", peer.id); Ok(()) } pub fn handle_incoming_packets(mut packets: MessageReader) { for InboundPacket(packet) in packets.read() { - info!("Packet received: {:?}", packet.message); + info!("Game: Packet received: {:?}", packet.message); } } diff --git a/src/game/plugin.rs b/src/game/plugin.rs index a7fdf48..586dd48 100644 --- a/src/game/plugin.rs +++ b/src/game/plugin.rs @@ -74,20 +74,13 @@ impl Plugin for GamePlugin { ) .add_systems( OnEnter(AppState::InGame), - ( - setup_from_seed, - (setup_player, setup_balls, setup_walls).after(setup_from_seed), - ), + (setup_from_seed, (setup_player, setup_balls, setup_walls)).chain(), ) .add_systems( FixedUpdate, ( check_for_seed.run_if(in_state(AppState::Loading)), - ( - handle_new_peer, - handle_deleted_peer, - handle_incoming_packets, - ), + handle_incoming_packets, ), ) .add_systems( @@ -103,7 +96,9 @@ impl Plugin for GamePlugin { ), quit.run_if(input_pressed(KeyCode::KeyQ)), ), - ); + ) + .add_observer(handle_new_peer) + .add_observer(handle_deleted_peer); match self.source { DataSource::Address(peer) => {