use bevy::prelude::*;
use iyes_progress::ProgressPlugin;
pub(super) struct NetStatePlugin;
impl Plugin for NetStatePlugin {
fn build(&self, app: &mut App) {
app.init_state::<NetState>().add_plugins((
ProgressPlugin::new(NetState::Connecting).continue_to(NetState::Connected),
ProgressPlugin::new(NetState::ShuttingDown).continue_to(NetState::None),
));
}
}
#[derive(Debug, Clone, Copy, PartialOrd, Ord, PartialEq, Eq, Hash, Default, States)]
pub enum NetState {
#[default]
None,
Connecting,
Connected,
Joined,
ShuttingDown,
}