Skip to content

Commit 4b63909

Browse files
committed
update bevy version to 0.16.rc.2
1 parent 93b2d6f commit 4b63909

File tree

8 files changed

+48
-28
lines changed

8 files changed

+48
-28
lines changed

CHANGELOG.md

+8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Changelog
22

3+
## [Unreleased]
4+
5+
- bump bevy version to 0.16.0
6+
7+
## [0.7.0] - 2024-11-30
8+
9+
- bump bevy version to 0.15.0
10+
311
## [0.6.0] - 2024-07-05
412

513
- bump bevy version to 0.14.0

Cargo.toml

+8-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "bevy_http_client"
33
description = "A simple HTTP client for Bevy"
4-
version = "0.7.0"
4+
version = "0.8.0"
55
edition = "2021"
66
readme = "README.md"
77
homepage = "https://crates.io/crates/bevy_http_client"
@@ -14,11 +14,11 @@ keywords = ["bevy", "http", "plugin", "wasm"]
1414
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
1515

1616
[dependencies]
17-
bevy_app = "0.15.0"
18-
bevy_derive = "0.15.0"
19-
bevy_hierarchy = "0.15.0"
20-
bevy_ecs = { version = "0.15.0", features = ["multi_threaded"] }
21-
bevy_tasks = "0.15.0"
17+
bevy_app = "0.16.0-rc.2"
18+
bevy_derive = "0.16.0-rc.2"
19+
#bevy_hierarchy = "0.16.0-rc.2"
20+
bevy_ecs = { version = "0.16.0-rc.2", features = ["multi_threaded"] }
21+
bevy_tasks = "0.16.0-rc.2"
2222

2323
crossbeam-channel = "0.5.11"
2424
ehttp = { version = "0.5.0", features = ["native-async", "json"] }
@@ -29,7 +29,7 @@ serde_json = "1.0"
2929
doctest = false
3030

3131
[dev-dependencies]
32-
bevy = { version = "0.15.0", default-features = false, features = [
32+
bevy = { version = "0.16.0-rc.2", default-features = false, features = [
3333
"animation",
3434
"bevy_asset",
3535
"bevy_gilrs",
@@ -43,6 +43,7 @@ bevy = { version = "0.15.0", default-features = false, features = [
4343
"bevy_text",
4444
"bevy_ui",
4545
"bevy_window",
46+
"bevy_log",
4647
"multi_threaded",
4748
"png",
4849
"hdr",

README.md

+15-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# bevy_http_client
22

3+
[![CI](https://github.com/foxzool/bevy_http_client/workflows/CI/badge.svg)](https://github.com/foxzool/bevy_http_client/actions)
34
[![Crates.io](https://img.shields.io/crates/v/bevy_http_client)](https://crates.io/crates/bevy_http_client)
45
[![Downloads](https://img.shields.io/crates/d/bevy_http_client)](https://crates.io/crates/bevy_http_client)
56
[![Documentation](https://docs.rs/bevy_http_client/badge.svg)](https://docs.rs/bevy_http_client)
@@ -22,7 +23,7 @@ pub struct IpInfo {
2223
fn main() {
2324
let mut app = App::new();
2425
app.add_plugins((MinimalPlugins, HttpClientPlugin))
25-
.add_systems(Update, handle_response)
26+
.add_systems(Update, (handle_response, handle_error))
2627
.add_systems(
2728
Update,
2829
send_request.run_if(on_timer(std::time::Duration::from_secs(1))),
@@ -39,17 +40,27 @@ fn send_request(mut ev_request: EventWriter<TypedRequest<IpInfo>>) {
3940
);
4041
}
4142

42-
fn handle_response(mut ev_response: EventReader<TypedResponse<IpInfo>>) {
43-
for response in ev_response.read() {
44-
println!("ip: {}", response.ip);
43+
/// consume TypedResponse<IpInfo> events
44+
fn handle_response(mut events: ResMut<Events<TypedResponse<IpInfo>>>) {
45+
for response in events.drain() {
46+
let response: IpInfo = response.into_inner();
47+
println!("ip info: {:?}", response);
4548
}
4649
}
50+
51+
fn handle_error(mut ev_error: EventReader<TypedResponseError<IpInfo>>) {
52+
for error in ev_error.read() {
53+
println!("Error retrieving IP: {}", error.err);
54+
}
55+
}
56+
4757
```
4858

4959
## Supported Versions
5060

5161
| bevy | bevy_http_client |
5262
|------|------------------|
63+
| 0.16 | 0.8 |
5364
| 0.15 | 0.7 |
5465
| 0.14 | 0.6 |
5566
| 0.13 | 0.4, 0,5 |

examples/ipinfo.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ fn main() {
1515

1616
fn send_request(mut ev_request: EventWriter<HttpRequest>) {
1717
let request = HttpClient::new().get("https://api.ipify.org").build();
18-
ev_request.send(request);
18+
ev_request.write(request);
1919
}
2020

2121
fn handle_response(mut ev_resp: EventReader<HttpResponse>) {

examples/typed.rs

-6
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,6 @@ fn send_request(mut ev_request: EventWriter<TypedRequest<IpInfo>>) {
2727
);
2828
}
2929

30-
// fn handle_response(mut ev_response: EventReader<TypedResponse<IpInfo>>) {
31-
// for response in ev_response.read() {
32-
// println!("ip: {}", response.ip);
33-
// }
34-
// }
35-
3630
/// consume TypedResponse<IpInfo> events
3731
fn handle_response(mut events: ResMut<Events<TypedResponse<IpInfo>>>) {
3832
for response in events.drain() {

examples/window.rs

+14-6
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,15 @@ fn send_request(
8686
mut status_query: Query<&mut Text, (With<ResponseText>, Without<ResponseIP>)>,
8787
mut ip_query: Query<&mut Text, (With<ResponseIP>, Without<ResponseText>)>,
8888
) {
89-
status_query.single_mut().0 = "Requesting ".to_string();
90-
ip_query.single_mut().0 = "".to_string();
89+
if let Ok(mut text) = status_query.single_mut() {
90+
text.0 = "Requesting ".to_string();
91+
}
92+
if let Ok(mut ip) = ip_query.single_mut() {
93+
ip.0 = "".to_string();
94+
}
95+
9196
let request = HttpClient::new().get("https://api.ipify.org").build();
92-
ev_request.send(request);
97+
ev_request.write(request);
9398
}
9499

95100
fn handle_response(
@@ -98,9 +103,12 @@ fn handle_response(
98103
mut ip_query: Query<&mut Text, (With<ResponseIP>, Without<ResponseText>)>,
99104
) {
100105
for response in ev_resp.read() {
101-
let ip = response.text().unwrap_or_default();
102-
ip_query.single_mut().0 = ip.to_string();
103-
status_query.single_mut().0 = "Got ".to_string();
106+
if let Ok(mut text) = status_query.single_mut() {
107+
text.0 = "Got ".to_string();
108+
}
109+
if let Ok(mut ip) = ip_query.single_mut() {
110+
ip.0 = response.text().unwrap_or_default().to_string();
111+
}
104112
}
105113
}
106114
fn handle_error(mut ev_error: EventReader<HttpResponseError>) {

src/lib.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
use bevy_app::{App, Plugin, Update};
44
use bevy_derive::Deref;
55
use bevy_ecs::{prelude::*, world::CommandQueue};
6-
use bevy_hierarchy::DespawnRecursiveExt;
76
use bevy_tasks::IoTaskPool;
87
use crossbeam_channel::Receiver;
98
use ehttp::{Headers, Request, Response};
@@ -532,7 +531,7 @@ fn handle_request(
532531
if has_from_entity {
533532
world.entity_mut(entity).remove::<RequestTask>();
534533
} else {
535-
world.entity_mut(entity).despawn_recursive();
534+
world.entity_mut(entity).despawn();
536535
}
537536
});
538537

src/typed.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
use bevy_app::{App, PreUpdate};
22
use bevy_derive::Deref;
33
use bevy_ecs::{prelude::*, system::Commands, world::CommandQueue};
4-
use bevy_hierarchy::DespawnRecursiveExt;
54
use bevy_tasks::IoTaskPool;
65
use ehttp::{Request, Response};
76
use serde::Deserialize;
@@ -207,7 +206,7 @@ fn handle_typed_request<T: for<'a> Deserialize<'a> + Send + Sync + 'static>(
207206
if has_from_entity {
208207
world.entity_mut(entity).remove::<RequestTask>();
209208
} else {
210-
world.entity_mut(entity).despawn_recursive();
209+
world.entity_mut(entity).despawn();
211210
}
212211
});
213212

0 commit comments

Comments
 (0)