aboutsummaryrefslogtreecommitdiff
path: root/client/src
diff options
context:
space:
mode:
author1992414357@qq.com <1992414357@qq.com>2025-05-29 16:06:11 +0800
committer1992414357@qq.com <1992414357@qq.com>2025-05-29 16:06:11 +0800
commitc9dbba0d288becb7f05cebe526be25c76e5a850a (patch)
treed5a47ccfc439e91f6fd1bfac2712a67e16468e1e /client/src
parentd1c42b3f4036f101a7a6e46dcf2f065ed1d687f3 (diff)
增加客户端部分
Diffstat (limited to 'client/src')
-rw-r--r--client/src/main.rs51
1 files changed, 51 insertions, 0 deletions
diff --git a/client/src/main.rs b/client/src/main.rs
new file mode 100644
index 0000000..178122f
--- /dev/null
+++ b/client/src/main.rs
@@ -0,0 +1,51 @@
+use bevy::prelude::App;
+use bevy::prelude::ResMut;
+use bevy::prelude::Startup;
+use bevy::tasks::block_on;
+use bevy::DefaultPlugins;
+use bevy_tokio_tasks::{TokioTasksPlugin, TokioTasksRuntime};
+use nogamepads_lib_rs::pad_data::pad_player_info::nogamepads_player_info::PlayerInfo;
+use nogamepads_lib_rs::pad_service::client::nogamepads_client::PadClient;
+use std::net::{IpAddr, Ipv4Addr};
+use tokio::runtime::Builder;
+
+fn main() {
+ let mut app = App::new();
+
+ // 插件
+ app.add_plugins(DefaultPlugins);
+ app.add_plugins(TokioTasksPlugin {
+ make_runtime: Box::new(|| {
+ Builder::new_multi_thread()
+ .enable_all()
+ .build().unwrap()
+ }),
+ ..TokioTasksPlugin::default()
+ });
+
+ // 系统
+ app.add_systems(Startup, client_init);
+
+ app.run();
+}
+
+fn client_init(
+ runtime: ResMut<TokioTasksRuntime>
+) {
+ let mut client =
+ PadClient::bind_addr(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)));
+
+ let mut player_info = PlayerInfo::new();
+ player_info.setup_account_info(
+ env!("TEST_PLAYER_ACCOUNT"),
+ env!("TEST_PLAYER_PASSWORD"));
+ player_info.set_nickname(env!("TEST_PLAYER_NICKNAME"));
+ player_info.set_customize_color_hsv(320, 0.5, 1.0); // PINK
+
+ client.bind_player(player_info); // 绑定玩家
+
+ runtime.spawn_background_task(|context| async move {
+ let entry = client.get_connect_entry();
+ block_on(entry);
+ });
+}