/* * This file is part of sdbclient * Copyright (C) 2023 Jonni Liljamo * * Licensed under GPL-3.0-only. * See LICENSE for licensing information. */ use bevy::prelude::*; use iyes_loopless::prelude::*; use belly::prelude::*; use crate::{ cfg::CfgUser, plugins::config::{SaveEvent, SaveEventValue}, }; use super::MenuState; pub(super) struct LogoutEvent; pub(super) fn account_loggedin_setup(mut commands: Commands, cfg_user: Res) { let username = cfg_user.username.clone(); commands.add(eml! {
"Account" "Logged in as:" { username }
}); } pub(super) fn handle_logout_event( mut events: EventReader, mut commands: Commands, mut cfg_user: ResMut, mut save_event_writer: EventWriter, ) { for _event in events.iter() { // Reset CfgUser to default *cfg_user = CfgUser::default(); save_event_writer.send(SaveEvent { value: SaveEventValue::User(cfg_user.clone()), }); commands.insert_resource(NextState(MenuState::AccountLoggedOut)); } }