From 10bc627d82a1e50f0c1b51d10b8682156fa2cc53 Mon Sep 17 00:00:00 2001 From: Jonni Liljamo Date: Thu, 9 Mar 2023 10:23:32 +0200 Subject: [PATCH] fix(client): wait for AfterAuth before going to menu --- .../src/plugins/networking/systems/events.rs | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/client/src/plugins/networking/systems/events.rs b/client/src/plugins/networking/systems/events.rs index 6e7c85e..08f56f8 100644 --- a/client/src/plugins/networking/systems/events.rs +++ b/client/src/plugins/networking/systems/events.rs @@ -22,18 +22,10 @@ use crate::{ }, }; -pub fn connect_events( - mut commands: Commands, - mut ev: EventReader, - client: Client, - mut data: ResMut, -) { +pub fn connect_events(mut ev: EventReader, client: Client) { for _ in ev.iter() { if let Ok(server_address) = client.server_address() { info!("Laurelin client connected to: '{}'", server_address); - - data.state = ConnectState::Login; - commands.insert_resource(NextState(MenuState::Menu)); } } } @@ -57,12 +49,25 @@ pub fn disconnect_events(mut ev: EventReader) { } } -pub fn message_events(mut ev: EventReader, mut cfg_user: ResMut) { +pub fn message_events( + mut commands: Commands, + mut ev: EventReader, + mut cfg_user: ResMut, + mut data: ResMut, +) { for events in ev.iter() { for aa_message in events.read::() { // TODO: move handling to a separate function? + + // save details from AfterAuth cfg_user.username = aa_message.username; cfg_user.cookie = aa_message.cookie; + + // reset the connection screen to login + data.state = ConnectState::Login; + + // take us to the main menu + commands.insert_resource(NextState(MenuState::Menu)); } } } -- 2.44.1