aboutsummaryrefslogtreecommitdiff
path: root/client/src/plugin_client.rs
diff options
context:
space:
mode:
author1992414357@qq.com <1992414357@qq.com>2025-06-13 16:25:22 +0800
committer1992414357@qq.com <1992414357@qq.com>2025-06-13 16:25:22 +0800
commit98dad6afa316b9a44ff76b305520339ddc44c789 (patch)
tree9a6d0b566b23f0bab270b68e4766a60349abf18b /client/src/plugin_client.rs
parent9e48af01ae56fe813869ada24de291ab98b361e2 (diff)
.
Diffstat (limited to 'client/src/plugin_client.rs')
-rw-r--r--client/src/plugin_client.rs69
1 files changed, 0 insertions, 69 deletions
diff --git a/client/src/plugin_client.rs b/client/src/plugin_client.rs
deleted file mode 100644
index d998f75..0000000
--- a/client/src/plugin_client.rs
+++ /dev/null
@@ -1,69 +0,0 @@
-use std::sync::{Arc, Mutex};
-use bevy::input::common_conditions::input_just_pressed;
-use bevy::log::info;
-use bevy::prelude::{App, Commands, Component, IntoScheduleConfigs, KeyCode, Plugin, PreStartup, Query, ResMut, Startup, Update};
-use bevy_tokio_tasks::TokioTasksRuntime;
-use nogamepads::entry_mutex;
-use nogamepads_core::data::controller::controller_data::ControllerData;
-use nogamepads_core::data::controller::controller_runtime::ControllerRuntime;
-use nogamepads_core::data::player::player_data::Player;
-use nogamepads_core::service::tcp_network::pad_client::pad_client_service::PadClientNetwork;
-
-#[derive(Component)]
-struct ClientComponent {
- pad_client: Arc<Mutex<ControllerRuntime>>,
-}
-
-pub struct PadClientPlugin;
-impl Plugin for PadClientPlugin {
- fn build(&self, app: &mut App) {
- app.add_systems(PreStartup, client_init);
- app.add_systems(Startup, client_start);
- app.add_systems(Update, client_exit.run_if(input_just_pressed(KeyCode::Escape)));
- }
-}
-
-fn client_init(
- mut commands: Commands
-) {
- let mut controller_data = ControllerData::default();
- controller_data.bind_player(
- Player::register(
- env!("TEST_PLAYER_ACCOUNT").to_string(),
- env!("TEST_PLAYER_PASSWORD").to_string())
- );
-
- let runtime = controller_data.runtime();
-
- commands.spawn(
- ClientComponent {
- pad_client: Arc::clone(&runtime),
- }
- );
-}
-
-fn client_start(
- client_components: Query<&mut ClientComponent>,
- runtime: ResMut<TokioTasksRuntime>
-) {
- for client_component in client_components.iter() {
- let client_runtime = Arc::clone(&client_component.pad_client);
- let network = PadClientNetwork::build(client_runtime);
- let entry = network.build_entry();
-
- runtime.spawn_background_task(|_ctx| async move {
- entry.await;
- info!("Client finished.")
- });
- }
-}
-
-fn client_exit(
- client_components: Query<&mut ClientComponent>
-){
- for client_component in client_components.iter() {
- entry_mutex!(client_component.pad_client, |guard| {
- guard.close();
- })
- }
-} \ No newline at end of file