From c2bc9b442a7ba6e9eeb4eebadc03e761c36955e8 Mon Sep 17 00:00:00 2001 From: Ryan Butler Date: Fri, 21 Jun 2024 05:16:03 -0400 Subject: [PATCH] fix self hosting --- apps/networked_physics_demo/client/src/netcode.rs | 9 ++------- apps/networked_physics_demo/client/src/title_screen.rs | 9 ++++++++- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/apps/networked_physics_demo/client/src/netcode.rs b/apps/networked_physics_demo/client/src/netcode.rs index 3403d6b..4e4ec84 100644 --- a/apps/networked_physics_demo/client/src/netcode.rs +++ b/apps/networked_physics_demo/client/src/netcode.rs @@ -83,8 +83,8 @@ fn apply_queued_commands( /// Other plugins create this when they want to connect to a manager. #[derive(Debug, Event, Eq, PartialEq)] pub struct ConnectToManagerRequest { - /// The URL of the manager to connect to. If `None`, locally host. - pub manager_url: Option, + /// The URL of the manager to connect to. + pub manager_url: Url, } /// Produced in response to [`ConnectToManagerRequest`]. @@ -94,13 +94,8 @@ pub struct ConnectToManagerResponse(pub Result<()>); fn handle_connect_to_manager_evt( command_queue: Res, mut request: EventReader, - mut response: EventWriter, ) { for ConnectToManagerRequest { manager_url } in request.read() { - let Some(manager_url) = manager_url else { - response.send(ConnectToManagerResponse(Ok(()))); - continue; - }; let manager_url = manager_url.to_owned(); let tx = command_queue.tx.clone(); let pool = IoTaskPool::get(); diff --git a/apps/networked_physics_demo/client/src/title_screen.rs b/apps/networked_physics_demo/client/src/title_screen.rs index 1526ee8..ebb9b87 100644 --- a/apps/networked_physics_demo/client/src/title_screen.rs +++ b/apps/networked_physics_demo/client/src/title_screen.rs @@ -178,7 +178,7 @@ mod ui { .then(|| manager_url.parse()) .transpose() { - Ok(parsed_manager_url) => { + Ok(Some(parsed_manager_url)) => { evw.send(ConnectToManagerRequest { manager_url: parsed_manager_url, }); @@ -187,6 +187,13 @@ mod ui { } .into(); } + Ok(None) => { + // Locally host + evw.send(ConnectToInstanceRequest { + instance_url: None, + }); + return JoinInstance::WaitingForConnection.into(); + } Err(_parse_err) => { error_msg.clear(); error_msg.push_str("Invalid URL");