mirror of
https://github.com/gopher64/gopher64.git
synced 2026-07-11 01:25:20 +02:00
improve wait room (#1045)
This commit is contained in:
@@ -8,7 +8,7 @@ export global NetplayWaitData {
|
||||
in-out property <bool> can_start;
|
||||
in-out property <string> chat_text;
|
||||
in-out property <int> input_delay;
|
||||
in-out property <string> recommended_delay;
|
||||
in-out property <int> recommended_delay;
|
||||
in-out property <bool> game_pal;
|
||||
}
|
||||
|
||||
@@ -105,6 +105,7 @@ export component NetplayWait inherits Page {
|
||||
ComboBox {
|
||||
model: ["0", "1", "2", "3", "4", "5", "6", "7", "8"];
|
||||
current-index: NetplayWaitData.input_delay;
|
||||
enabled: NetplayWaitData.recommended_delay != 0;
|
||||
selected => {
|
||||
NetplayWaitData.input_delay = self.current-index;
|
||||
}
|
||||
@@ -112,7 +113,7 @@ export component NetplayWait inherits Page {
|
||||
}
|
||||
|
||||
Text {
|
||||
text: @tr("Recommended: ") + NetplayWaitData.recommended_delay;
|
||||
text: @tr("Recommended: ") + (NetplayWaitData.recommended_delay == 0 ? "Calculating..." : NetplayWaitData.recommended_delay);
|
||||
horizontal-alignment: center;
|
||||
vertical-alignment: center;
|
||||
}
|
||||
@@ -121,7 +122,7 @@ export component NetplayWait inherits Page {
|
||||
alignment: center;
|
||||
Button {
|
||||
text: @tr("Start Game");
|
||||
enabled: NetplayWaitData.can_start;
|
||||
enabled: NetplayWaitData.players[0] == NetplayData.player_name && NetplayWaitData.can_start && NetplayWaitData.recommended_delay != 0;
|
||||
clicked => {
|
||||
NetplayWaitData.can_start = false;
|
||||
begin_game(NetplayWaitData.input_delay);
|
||||
|
||||
+5
-6
@@ -446,9 +446,11 @@ fn update_ping(
|
||||
};
|
||||
let recommendation =
|
||||
(ping as f64 / (1000.0 / refresh_rate)) as i32 + 1;
|
||||
handle.set_netplay_recommended_delay(
|
||||
recommendation.to_string().into(),
|
||||
);
|
||||
|
||||
if handle.get_netplay_recommended_delay() == 0 {
|
||||
handle.set_netplay_input_delay(recommendation);
|
||||
}
|
||||
handle.set_netplay_recommended_delay(recommendation);
|
||||
})
|
||||
.unwrap();
|
||||
}
|
||||
@@ -474,14 +476,12 @@ fn setup_wait_window(
|
||||
game_settings: ui::GameSettings,
|
||||
app: &AppWindow,
|
||||
) {
|
||||
app.set_netplay_recommended_delay("Calculating...".into());
|
||||
update_ping(server_addr.clone(), close_ping_rx, app.as_weak());
|
||||
|
||||
app.set_netplay_session_name(session_name);
|
||||
app.set_netplay_game_name(game_name);
|
||||
app.set_netplay_rom_path(rom_path);
|
||||
app.set_netplay_can_start(true);
|
||||
app.set_netplay_input_delay(2);
|
||||
|
||||
let request_update = NetplayLobbyMessage {
|
||||
message_type: MessageType::RequestUpdateSession,
|
||||
@@ -585,7 +585,6 @@ fn setup_wait_window(
|
||||
weak_app
|
||||
.upgrade_in_event_loop(move |handle| {
|
||||
handle.set_netplay_can_start(true);
|
||||
|
||||
if let Some(message) = response.message {
|
||||
handle.invoke_show_message(message.into(), true);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user