#http-client #bevy-plugin #bevy #http #plugin #wasm

bevy_http_client

Bevy的简单HTTP客户端

8个版本 (5个重大更新)

0.6.0 2024年7月5日
0.5.2 2024年4月23日
0.5.1 2024年2月28日
0.4.0 2024年2月19日
0.1.0 2023年8月28日

#707 in 游戏开发

Download history 16/week @ 2024-04-28 3/week @ 2024-05-05 1/week @ 2024-05-12 13/week @ 2024-05-19 2/week @ 2024-05-26 12/week @ 2024-06-02 7/week @ 2024-06-09 7/week @ 2024-06-16 8/week @ 2024-06-23 122/week @ 2024-06-30 66/week @ 2024-07-07 15/week @ 2024-07-14 14/week @ 2024-07-21 73/week @ 2024-07-28 11/week @ 2024-08-04 38/week @ 2024-08-11

每月137次下载

MIT/Apache

33KB
390

bevy_http_client

Crates.io Downloads Documentation MIT/Apache 2.0

适用于原生和WASM的简单HTTP客户端Bevy插件。

示例

use bevy::{prelude::*, time::common_conditions::on_timer};
use bevy_http_client::prelude::*;
use serde::Deserialize;

#[derive(Debug, Clone, Deserialize, Default)]
pub struct IpInfo {
    pub ip: String,
}

fn main() {
    let mut app = App::new();
    app.add_plugins((MinimalPlugins, HttpClientPlugin))
        .add_systems(Update, handle_response)
        .add_systems(
            Update,
            send_request.run_if(on_timer(std::time::Duration::from_secs(1))),
        );
    app.register_request_type::<IpInfo>();
    app.run();
}

fn send_request(mut ev_request: EventWriter<TypedRequest<IpInfo>>) {
    ev_request.send(
        HttpClient::new()
            .get("https://api.ipify.org?format=json")
            .with_type::<IpInfo>(),
    );
}

fn handle_response(mut ev_response: EventReader<TypedResponse<IpInfo>>) {
    for response in ev_response.read() {
        println!("ip: {}", response.ip);
    }
}

支持版本

bevy bevy_http_client
0.14 0.6
0.13 0.4, 0,5
0.12 0.3
0.11 0.1

许可证

双许可

根据您的选择。这意味着当您在使用此crate进行游戏开发时,可以选择使用哪个许可证。

除非您明确说明,否则您有意提交的任何贡献,根据Apache-2.0许可证定义,应双许可如上所述,不附加任何额外条款或条件。

依赖项

~33–71MB
~1M SLoC