use crate::client_plugins::ClientPluginGroup;
use crate::shared_plugins::SharedPluginGroup;
use aeronet_websocket::client::WebSocketClient;
use bevy::app::{App, Startup};
use url::Url;
use bevy::log::LogPlugin;
use bevy::ui::UiPlugin;
use bevy::DefaultPlugins;
use wasm_bindgen::prelude::*;
use bevy::prelude::PluginGroup;
#[wasm_bindgen]
pub fn play(server: &str) -> Result<(), JsValue> {
console_error_panic_hook::set_once();
tracing_wasm::set_as_global_default();
for instance in wgpu::Instance::enabled_backend_features().iter_names() {
bevy::log::debug!(?instance, "available backend");
}
let mut app = App::new();
app.add_plugins(
DefaultPlugins.build()
.disable::<LogPlugin>()
.disable::<UiPlugin>()
);
app.add_plugins(ClientPluginGroup {
server: Some(server.to_string()),
});
app.add_plugins(SharedPluginGroup);
app.run();
bevy::prelude::info!("goodbye!");
Ok(())
}