/*
* This file is part of laurelin/client
* Copyright (C) 2023 Jonni Liljamo <jonni@liljamo.com>
*
* Licensed under GPL-3.0-only.
* See LICENSE for licensing information.
*/
use bevy::prelude::*;
use naia_bevy_client::ReceiveEvents;
mod systems;
pub use systems::events::{receive, send};
pub struct NetworkingPlugin;
impl Plugin for NetworkingPlugin {
fn build(&self, app: &mut App) {
app.add_event::<send::game::GameCreateEvent>()
.add_event::<send::game::GameAllFormingEvent>()
.add_event::<send::game::GameMyGamesEvent>()
.add_event::<send::game::GameInfoEvent>()
.add_event::<send::user::PubUserDetailsEvent>()
.add_systems((
send::game::create_event,
send::game::all_forming_event,
send::game::my_games_event,
send::game::game_info_event,
send::user::pub_user_details_event,
))
.add_systems(
(
receive::connect_events,
receive::reject_events,
receive::disconnect_events,
receive::message_events,
receive::tick_events,
)
.chain()
.in_set(ReceiveEvents),
);
}
}