Convert game loggers to observers

These functions don't really do anything, I just want to have the code in place for reference
This commit is contained in:
Michael Bradley 2025-10-18 17:49:56 -04:00
parent af11fa97fb
commit 46f00e2047
Signed by: MichaelBradley
SSH key fingerprint: SHA256:BKO2eI2LPsCbQS3n3i5SdwZTAIV3F1lHezR07qP+Ob0
2 changed files with 13 additions and 26 deletions

View file

@ -2,28 +2,20 @@ use bevy::prelude::*;
use crate::net::prelude::*;
pub fn handle_new_peer(new_peers: Query<&PeerID, Added<Peer>>) {
for peer in new_peers {
info!("Peer {} was added", peer.id);
}
pub fn handle_new_peer(add: On<Add, PeerID>, 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<Peer>,
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<Remove, PeerID>, 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<InboundPacket>) {
for InboundPacket(packet) in packets.read() {
info!("Packet received: {:?}", packet.message);
info!("Game: Packet received: {:?}", packet.message);
}
}

View file

@ -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) => {