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::() .disable::() ); app.add_plugins(ClientPluginGroup { server: Some(server.to_string()), }); app.add_plugins(SharedPluginGroup); app.run(); bevy::prelude::info!("goodbye!"); Ok(()) }